Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2021, 23:25   #1
Rassik228
Новичок
Джуниор
 
Регистрация: 07.04.2021
Сообщений: 1
По умолчанию Считывание из файла С++

В файле задан список книг (автор, название, год издания). Разработать программу выбора книг, выпущенных ранее заданного года.
Вообщем , в файле записан список книг в таком формате.

Говард Лавкрафт,"Зов Ктулху",1928
Джозеф Кембел, "Тысячеликий Герой",1949
Фрэнсис Фитцджеральд,"Великий Гэтсби",1925
Марио Пьюзо,"Крёстный Отец",1969
Уолтер Айзексон,"Стив Джобс",2011
Нил Гейман,"Американские Боги",2001
Александр Пушкин,"Капитанская Дочка",1836
Ишида Суи,"Токийский Гуль",2011
Янн Мартел,"Жизнь Пи",2001
Стивен Кинг,"Тёмная Башня",2004

я пишу

#include <string>
#include <fstream>
#include <conio.h>
#include <iostream>
#include <windows.h>
using namespace std;
struct Library
{
char Avtor[255];
char Nazvanie[255];
int god;
};
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

struct Library Book[10]{};

ofstream fout;
fout.open("NewFile2.txt");
FILE *fp;
int z;
z = fopen_s(&fp, "File1.txt", "r");
if (z != 0) {
return 2;
}
for (int i = 0;i<10; i++) {
fscanf_s(fp, "%[^,]", Book[i].Avtor,255);
fscanf_s(fp, "%[^,]", Book[i].Nazvanie,255);
fscanf_s(fp, "%d", Book[i].god);
}
for (int i = 0; i < 10; i++)
{
cout << Book[i].Avtor;
cout << Book[i].Nazvanie;
cout << Book[i].god<<endl;
}
_getch();

return 0;
}

Но после первого автора выводятся какие то нули. ПОМОГИТЕ
Изображения
Тип файла: jpg 8a8FgCpuAu0.jpg (11.3 Кб, 9 просмотров)
Rassik228 вне форума Ответить с цитированием
Старый 08.04.2021, 05:39   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,351
По умолчанию

Код:
fscanf_s(fp, "%[^,],", Book[i].Avtor, 255);
fscanf_s(fp, "%[^,],", Book[i].Nazvanie, 255);
fscanf_s(fp, "%d\n", &Book[i].god);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# Считывание из файла Maray C# (си шарп) 1 29.07.2016 06:33
Считывание из файла СИ orandzheviyman Общие вопросы C/C++ 1 08.05.2014 11:20
Считывание из файла kuziashagrath85 Общие вопросы C/C++ 2 31.07.2012 08:16
считывание с файла С++ Guzal Помощь студентам 2 27.02.2011 13:24
c++ считывание с файла. tsergey Помощь студентам 20 24.04.2010 23:30