Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 21.05.2016
Сообщений: 19
1

Из файла правильно считывается только первая строка

27.01.2019, 11:00. Показов 2002. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прога должна считать из файла строку в str (включая пробелы), после чего перезаписать в zone и пойти по файлу дальше. На деле правильно считывается только первая строка, а остальное - первая строка с пробелом вместо первого символа.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <cstdlib>
#include <fstream>
 
using namespace std;
 
int main()
{
    ifstream getlab("input.txt");
    char zone[10][10];
    char str[11];
    for (int i = 0; i <= 9; i++)
    {
        getlab.getline(str, 10);
        for (int k = 0; k <= 9; k++)
        {
            zone[i][k] = str[k];
        }
    }
    for (int i = 0; i <= 9; i++)
    {
        for (int k = 0; k <= 9; k++)
        {
            cout << zone[i][k];
        }
        cout << endl;
    }
    system("pause");
}
Например, input.txt:
qwertyuiop
wwwwwwwwww
eeeeeeeeee
rrrrrrrrrr
tttttttttt
yyyyyyyyyy
uuuuuuuuuu
iiiiiiiiii
oooooooooo
pppppppppp

И вывод:
qwertyuio
wertyuio
wertyuio
wertyuio
wertyuio
wertyuio
wertyuio
wertyuio
wertyuio
wertyuio

В чем проблема и как можно исправить?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2019, 11:00
Ответы с готовыми решениями:

Первая строка считывается пустой
Программа должна считать определенное количество имен студентов в массив строк и потом вывести...

Не считывается строка из файла
Есть динамический массив символов (поле класса). При считывании из файла выдаёт ошибку &quot;CXX0030:...

Проверяется только первая строка
Программа должна считывать строки из файла и проверять, является ли каждая из них палиндромом. Но у...

Заполнение и вывод двумерного массива случайными числами (выводится только первая строка)
Не могу понять, что я делаю не так. Выводятся значения только первой строки. // Example program...

1
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
27.01.2019, 12:29 2
Лучший ответ Сообщение было отмечено SavedowW как решение

Решение

Читайте строку целиком (у Вас остался один символ непрочитанным, т.к. указано максимально 10 символов: 9+терминальный символ).
Т.е. с данным файлом правильно сработает, если сделаете
C++
1
       getlab.getline(str, 11);
Но лучше заложиться на еще больший размер.
1
27.01.2019, 12:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2019, 12:29
Помогаю со студенческими работами здесь

Построчное чтение из файла, в токором первая строка пустая
Читаю построчно файл и заношу значения из строк в переменные istringstream in(ios_base::in |...

Не считывается строка из строки
недавно делал класс тут в соседней теме, сегодня случайно заметил ошибку, а уже хотел сдавать,...

Из текстового файла считывается только первая строка
Считывается только первая строка, помогите найти ошибку. uses crt; const n=10; type student...

Считывается только одна строка из файла
У меня есть код using (StreamReader fileSetting = new StreamReader(&quot;settings.txt&quot;)) ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru