Форум программистов, компьютерный форум CyberForum.ru

Считывания файла построчно - C++

Восстановить пароль Регистрация
 
Newchap
4 / 4 / 1
Регистрация: 17.09.2013
Сообщений: 179
29.03.2014, 21:09     Считывания файла построчно #1
Добрый день, требуется организовать построчное считывания файла. Т.е. есть массив строк, каждое новое слово(они расположены построчно) - в новый элемент массива
К сожалению, не нашел внятного примера. так что придется просить помощи здесь.
Вот, что смог сделать, но оно не работает, при нажатие клавиши программа закрывается.
C++
1
2
3
4
5
6
7
8
9
10
11
12
int _tmain(int argc, _TCHAR* argv[])
{   
    ifstream f("slova.txt");
    string S[10];
    for (int i = 0; i <=4; i++){
        getline(f, S[i]);
    }
    for (int i = 0; i <= 4; i++) {
        cout << S[i] << " ";
    }
    return 0;
}

Буду признателен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.03.2014, 21:22     Считывания файла построчно #2
Будет и так работать. Чтобы не закрывалась, перед return 0, cin.get().

Добавлено через 2 минуты
1) Нужно проверять открытие файла для чтения.
2) Если в строках файла только по одному слову, то не обязательно использовать getline(), можно оператор >> (f >> S[i]).
Newchap
4 / 4 / 1
Регистрация: 17.09.2013
Сообщений: 179
29.03.2014, 21:24  [ТС]     Считывания файла построчно #3
alsav22, спасибо, добавил эту строку, но проблема не решилась.
Он все равно не выводит значения массива.Запускал без дебага.

Добавлено через 41 секунду
а как проверить открытие файла?)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.03.2014, 21:27     Считывания файла построчно #4
3) По идее, сначала нужно посчитать количество строк в файле, потом динамически создать массив нужного размера.

Добавлено через 1 минуту
Цитата Сообщение от Newchap Посмотреть сообщение
а как проверить открытие файла?)
C++
1
2
3
4
5
ifstream f("slova.txt");
if (!f)
   cout << "Error!" << endl;
else
{...
Newchap
4 / 4 / 1
Регистрация: 17.09.2013
Сообщений: 179
29.03.2014, 21:30  [ТС]     Считывания файла построчно #5
alsav22, количество строк в файле заранее известно по условию задачи. Т.е. в моем случае массив статический можно делать.
Добавил вашу строку в код, и, собственно, предположение оказалось верным. Файл не открыт, а почему?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.03.2014, 21:41     Считывания файла построчно #6
Цитата Сообщение от Newchap Посмотреть сообщение
количество строк в файле заранее известно по условию задачи.
Если известно, то почему количество чтений не соответствует размеру массива?
Цитата Сообщение от Newchap Посмотреть сообщение
Файл не открыт, а почему?
Потому что его нет там, где нужно.
Newchap
4 / 4 / 1
Регистрация: 17.09.2013
Сообщений: 179
29.03.2014, 21:46  [ТС]     Считывания файла построчно #7
alsav22, 10 написал непонятно зачем, сейчас разберусь с адресацией файла. Спасибо)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.03.2014, 21:53     Считывания файла построчно #8
Цитата Сообщение от Newchap Посмотреть сообщение
сейчас разберусь с адресацией файла
Или полный путь к файлу писать, или должен быть в папке проекта.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2014, 13:06     Считывания файла построчно
Еще ссылки по теме:

C++ Сохранение и считывания списка с текстового файла
C++ Считывания из файла
Не работает программа считывания последовательности из файла C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Newchap
4 / 4 / 1
Регистрация: 17.09.2013
Сообщений: 179
30.03.2014, 13:06  [ТС]     Считывания файла построчно #9
alsav22, Файл лежит в папке проекта, но все равно прога его не видит. Адрес Файла таков :
C:\Users\User\Desktop\2laba\ConsoleApplication1\Slova.txt, не подскажите, как его адресовать?

Добавлено через 2 часа 53 минуты
Добавил следующую строку, так и не работает
C++
1
2
3
    ifstream f;
    string S[4];
    f.open("C:\\Users\\User\\Desktop\\2laba\\ConsoleApplication1");
Добавлено через 2 часа 19 минут
Все, разобрался
Yandex
Объявления
30.03.2014, 13:06     Считывания файла построчно
Ответ Создать тему
Опции темы

Текущее время: 04:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru