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

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

01.04.2014, 01:49. Показов 630. Ответов 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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2014, 01:49
Ответы с готовыми решениями:

Ошибка при выводе строк
Помогите исправить ошибку. При вводе 6 MS Word MS PowerPoint Mail.ru AIMP3 FIFA07 Total...

Ошибка сегментирования при выводе строк
написал код для задачи которая должна выводить заданные строки. при компиляции выводит: &quot;ошибка...

Скрыть символ новой строки при выводе строк из файла
Всем доброго времени суток, Изучая запись и чтение из файла в Пайтоне, наткнулся на такую...

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

10
5480 / 4875 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 05:14 2
После записи файл закрывать нужно. Проверку открытия файла для чтения всегда нужно делать. Не надо смешивать в кучу С и С++: если уж ofstream для записи, то ifstream для чтения.
0
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
01.04.2014, 16:47  [ТС] 3
Цитата Сообщение от alsav22 Посмотреть сообщение
ifstream для чтения
Можете пример пожалуйста привести? Просто я его нигде не встречал (
0
5480 / 4875 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 17:36 4
Цитата Сообщение от wao_138 Посмотреть сообщение
Просто я его нигде не встречал (
http://www.cplusplus.com/refer... /ifstream/
Похож на istream (cin - объект этого класса), только для работы с файлами.
0
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
5480 / 4875 / 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
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
01.04.2014, 18:50  [ТС] 7
alsav22, ошибку выбивает (
если 1 строка - все нормально но если 2, то 1-ую заменяет левыми символами 2-ую нормально показывает, если 3, то 1-ую нормально, 2-ая - символы, 3-я нормально.
0
5480 / 4875 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 18:56 8
Цитата Сообщение от wao_138 Посмотреть сообщение
ошибку выбивает (
Я вам показал, как использовать fstream. Если что-то не так работает, то разбирайтесь со своим кодом (в частности, как записываете данные в файл (зачем там дополнительные '\n' в начале каждой записи?)).
0
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
01.04.2014, 19:12  [ТС] 9
Цитата Сообщение от alsav22 Посмотреть сообщение
то разбирайтесь со своим кодом
В коде все норм, ошибка вылетает после вашего примера использования (
0
5480 / 4875 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 19:31 10
Цитата Сообщение от wao_138 Посмотреть сообщение
В коде все норм, ошибка вылетает после вашего примера использования (
Пример, он и есть - пример. Не хотите разбираться с кодом, так никто и не заставляет (а мне неинтересно с тремя соснами разбираться).
1
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
08.04.2014, 01:01  [ТС] 11
alsav22, прости, у меня действительно была ошибка в коде. Спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2014, 01:01

Ошибка при выводе бинарного файла
Добрый день! Ошибка вот в чем: при сортировке массива, в одну ячейку StringGrid вставляет две...

Ошибка при выводе файла на озвучку
Здравствуйте товарищи, есть проблема. Пытаюсь вывести файл на озвучку, в проге присутстует...

Ошибка при вводе - выводе из файла
Почему пишет не найдет файл (в проге ассигн,ресет, реврайт стоит на него) создаю его вручную -...

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

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

Ошибка при выводе содержимого текстового файла
Здравствуйте,имеется программа на c# с помощью mono компилирую : mcs -recurse:'*.cs' В...


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

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

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