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

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

Войти
Регистрация
Восстановить пароль
 
wao_138
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
#1

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

01.04.2014, 01:49. Просмотров 325. Ответов 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++;
    }
Ошибка при выводе строк из файла.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 05:14     Ошибка при выводе строк из файла #2
После записи файл закрывать нужно. Проверку открытия файла для чтения всегда нужно делать. Не надо смешивать в кучу С и С++: если уж ofstream для записи, то ifstream для чтения.
wao_138
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
01.04.2014, 16:47  [ТС]     Ошибка при выводе строк из файла #3
Цитата Сообщение от alsav22 Посмотреть сообщение
ifstream для чтения
Можете пример пожалуйста привести? Просто я его нигде не встречал (
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 17:36     Ошибка при выводе строк из файла #4
Цитата Сообщение от wao_138 Посмотреть сообщение
Просто я его нигде не встречал (
http://www.cplusplus.com/reference/fstream/ifstream/
Похож на istream (cin - объект этого класса), только для работы с файлами.
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;
alsav22
5416 / 4812 / 442
Регистрация: 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;
}
wao_138
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
01.04.2014, 18:50  [ТС]     Ошибка при выводе строк из файла #7
alsav22, ошибку выбивает (
если 1 строка - все нормально но если 2, то 1-ую заменяет левыми символами 2-ую нормально показывает, если 3, то 1-ую нормально, 2-ая - символы, 3-я нормально.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 18:56     Ошибка при выводе строк из файла #8
Цитата Сообщение от wao_138 Посмотреть сообщение
ошибку выбивает (
Я вам показал, как использовать fstream. Если что-то не так работает, то разбирайтесь со своим кодом (в частности, как записываете данные в файл (зачем там дополнительные '\n' в начале каждой записи?)).
wao_138
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
01.04.2014, 19:12  [ТС]     Ошибка при выводе строк из файла #9
Цитата Сообщение от alsav22 Посмотреть сообщение
то разбирайтесь со своим кодом
В коде все норм, ошибка вылетает после вашего примера использования (
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.04.2014, 19:31     Ошибка при выводе строк из файла #10
Цитата Сообщение от wao_138 Посмотреть сообщение
В коде все норм, ошибка вылетает после вашего примера использования (
Пример, он и есть - пример. Не хотите разбираться с кодом, так никто и не заставляет (а мне неинтересно с тремя соснами разбираться).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 01:01     Ошибка при выводе строк из файла
Еще ссылки по теме:
Ошибка при выводе дерева C++
C++ Ошибка при выводе символов
Ошибка при выводе строки C++
Ошибка при выводе значения C++
Ошибка при выводе строки C++

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

Или воспользуйтесь поиском по форуму:
wao_138
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 63
08.04.2014, 01:01  [ТС]     Ошибка при выводе строк из файла #11
alsav22, прости, у меня действительно была ошибка в коде. Спасибо!
Yandex
Объявления
08.04.2014, 01:01     Ошибка при выводе строк из файла
Ответ Создать тему
Опции темы

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