Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
wao_138
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
#1

Ошибка при выводе строк из файла

01.04.2014, 01:49. Просмотров 394. Ответов 10
Метки нет (Все метки)

Помогите пожалуйста разобраться в чем ошибка. Весь код писать не буду просто покажу как я вношу данные в файл и считываю.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    int j=i;
 
    ofstream outfile;
    outfile.open("Out.txt");
    for(i=0;i<j;i++)
            outfile <<"\n"<<d[i].OS<<"\t"<<d[i].mult<<"\t"<<d[i].memory<<"\t"<<d[i].vers<<"\t"<<d[i].dev<<"\t"<<d[i].cost<<endl;
    FILE *file;
    file = fopen("Out.txt", "r");
 
    while (fscanf (file, d[i].OS, d[i].mult, d[i].memory, d[i].vers, d[i].dev, d[i].cost) != EOF) {
        cout<<"\n"<<d[i].OS<<"\t"<<d[i].mult<<"\t"<<d[i].memory<<"\t"<<d[i].vers<<"\t"<<d[i].dev<<"\t"<<d[i].cost<<endl;
        i++;
    }
Ошибка при выводе строк из файла.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2014, 01:49
Ответы с готовыми решениями:

Ошибка при выводе файла с помощью fprintf
FILE *F=fopen(&quot;1_1.txt&quot;,&quot;w&quot;); std::string st=&quot;0123&quot;; for(int...

Ошибка при выводе содержимого бинарного файла
#include &quot;stdafx.h&quot; #include &quot;windows.h&quot; #include &lt;iostream&gt; #include...

Ошибка при чтении строк из файла и записывании их в структуру
Задача заключается в том, что у нас есть структура из имени(string),...

Лишние символы при выводе строк
При создании игрового поля для тетриса (вывод строк, в соответствии с заданным...

Ошибка в выводе файла С++
Добрый день, подскажите пожалуйста в чем загвоздка: Файл: R0_11 0 11 1...

10
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 05:14 #2
После записи файл закрывать нужно. Проверку открытия файла для чтения всегда нужно делать. Не надо смешивать в кучу С и С++: если уж ofstream для записи, то ifstream для чтения.
0
wao_138
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
01.04.2014, 16:47  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
ifstream для чтения
Можете пример пожалуйста привести? Просто я его нигде не встречал (
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 17:36 #4
Цитата Сообщение от wao_138 Посмотреть сообщение
Просто я его нигде не встречал (
http://www.cplusplus.com/reference/fstream/ifstream/
Похож на istream (cin - объект этого класса), только для работы с файлами.
0
wao_138
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
01.04.2014, 18:09  [ТС] #5
alsav22, получается как-то так?
C++
1
2
3
ifstream f("Out.txt");
    for(i=0;i<j;i++)
            cout <<"\n"<<d[i].OS<<"\t"<<d[i].mult<<"\t"<<d[i].memory<<"\t"<<d[i].vers<<"\t"<<d[i].dev<<"\t"<<d[i].cost<<endl;
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 18:39 #6
Как-то так:
C++
1
2
3
4
5
6
7
ifstream f("Out.txt");
i = 0;
while (f >> d[i].OS >> d[i].mult >> d[i].memory >> d[i].vers >> d[i].dev >> d[i].cost) 
{
        cout<<"\n"<<d[i].OS<<"\t"<<d[i].mult<<"\t"<<d[i].memory<<"\t"<<d[i].vers<<"\t"<<d[i].dev<<"\t"<<d[i].cost<<endl;
        ++i;
}
0
wao_138
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
01.04.2014, 18:50  [ТС] #7
alsav22, ошибку выбивает (
если 1 строка - все нормально но если 2, то 1-ую заменяет левыми символами 2-ую нормально показывает, если 3, то 1-ую нормально, 2-ая - символы, 3-я нормально.
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 18:56 #8
Цитата Сообщение от wao_138 Посмотреть сообщение
ошибку выбивает (
Я вам показал, как использовать fstream. Если что-то не так работает, то разбирайтесь со своим кодом (в частности, как записываете данные в файл (зачем там дополнительные '\n' в начале каждой записи?)).
0
wao_138
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
01.04.2014, 19:12  [ТС] #9
Цитата Сообщение от alsav22 Посмотреть сообщение
то разбирайтесь со своим кодом
В коде все норм, ошибка вылетает после вашего примера использования (
0
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 19:31 #10
Цитата Сообщение от wao_138 Посмотреть сообщение
В коде все норм, ошибка вылетает после вашего примера использования (
Пример, он и есть - пример. Не хотите разбираться с кодом, так никто и не заставляет (а мне неинтересно с тремя соснами разбираться).
1
wao_138
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
08.04.2014, 01:01  [ТС] #11
alsav22, прости, у меня действительно была ошибка в коде. Спасибо!
0
08.04.2014, 01:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 01:01

ошибка в выводе инфы из файла
Почему выводит две строчки (одну не существующую) ЗЫ Чет с поиском не...

Ошибка при выводе
Не могу найти ошибку в цикле. Суть такая: &quot;вывести на дисплей фамилии и номера...

Кракозябры при выводе из файла UTF-8
Здравствуйте. Тема кодировки достаточно популярна. Правда, в этих всех темах...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru