Здравствуйте!
Подскажите, пожалуйста, как мне вывести (прочесть) данные из файла.txt,
читать дальшеесли данные в текстовом файле записаны в виде массива (грубо говоря) так:
Иванов; 25; Москва
Петров; 40; Новгород
Смирнов; 37; Санкт-Петербург
т.е. идёт: фамилия; возраст; город и получается, что в файле (или в массиве) 3 строки и 3 столбца.
#include iostream
#include conio.h
#include fstream
#include cstring
using namespace std;
int main()
{
char* lastname; //Фамилия
char* age; //Возраст
char* city; //Город
int m=3; //Кол-во строк
int n=3; //Кол-во столбцов
char* buffer; //Читает каждый элемент массива
ifstream filename("Filename.txt", ios::in); //Чтение из файла
И что тут дальше делать?
filename.close();
getch();
return 0;
}
Там, где выделено красном, пробовала через:
while (!input.eof())
{
for(i = 0; i < m; i + +)
{
for( j = 0; j < n; j + +)
{
filename>>buffer;
Дальше не знаю
}
}
}
Также:
сhar* str;
char* date;
fscanf(str, %s, &date); Ругается на эту строку
sscanf(date, %s;%s;%s, &lastname, &age, &city);
Читала про getline(line, sizeof(line)) но ничего особо не получилось.
То, что выделено коричневым, тоже не совсем уверена, что это правильно.
Все примеры искала в Google, но там ничего не понятно. Вроде всё есть, даже полностью написаны коды, но всё без комментариев, половина не работает и т.д.
Натолкните меня на мысли!!!!!!
P.S. Я не супер-спец, возможно, можно было сделать изящнее.
Спасибо! Но всё равно не работает! Выдаёт ошибку: "getline: идентификатор не найден" во всех трёх строках, где прописан getline.
По сути, всё то же самое, что у вас под ссылкой.
Единтсвенное, что убрала все std, т.к. изначально выдавал ошибку, что getline не используется в std.
Код
Чем вы компилируете?
using namespace std;
заменяет приписанный std:: в каждом месте. Но так делать нехорошо.
Кажись поняла
(наверное), в чём, возможно, ошибка.Выше данные "имя, возраст, город" через пробел написаны. Так вот, пробелы не надо, извиняюсь(((((, т.е. получается:
Иванов;25;Москва
Петров;40;Новгород
Смирнов;37;Санкт-Петербург
В конце каждой строки нет никаких ";", строго заканчивается на городе
Проверьте кодировку файла.
Проверьте кодировку файла.
Убрала ignore, ошибка та же с getline:
Сделала другим способом, чтоб хотя бы строки выводил:
код
Строки выводит, но мне теперь их не просканировать, чтоб выделить отдельно имя, возраст, город.