Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Как купить рекламу на форуме


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

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы Поиск в этой теме
Старый 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
Сообщений: 5,983
По умолчанию

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


Купить рекламу на форуме 20000 рублей в месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS