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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Newchap
4 / 4 / 1
Регистрация: 17.09.2013
Сообщений: 179
#1

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

29.03.2014, 21:09. Просмотров 441. Ответов 8
Метки нет (Все метки)

Добрый день, требуется организовать построчное считывания файла. Т.е. есть массив строк, каждое новое слово(они расположены построчно) - в новый элемент массива
К сожалению, не нашел внятного примера. так что придется просить помощи здесь.
Вот, что смог сделать, но оно не работает, при нажатие клавиши программа закрывается.
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;
}

Буду признателен!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2014, 21:09     Считывания файла построчно
Посмотрите здесь:

Открываются 2 текстовых файла, сложить построчно числа из 1 и 2 файла, сумму вывести в третий файл построчно C++
C++ Функция считывания из файла для map
Считывания из файла в структуру C++
Команды считывания из файла и записи в файл C++
Вызов метода считывания из бинарного файла C++
C++ Реализовать функцию считывания данных массива с файла
C++ Сохранение и считывания списка с текстового файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5410 / 4806 / 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
5410 / 4806 / 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
5410 / 4806 / 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
5410 / 4806 / 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++
C++ Считывания файла пословно
C++ Считывание из файла построчно и запись в файл построчно getline ()

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

Или воспользуйтесь поиском по форуму:
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     Считывания файла построчно
Ответ Создать тему
Опции темы

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