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

Чтение файлов - исправить ошибки в коде - C++

Восстановить пароль Регистрация
 
Ludwig
 Аватар для Ludwig
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 20
11.08.2014, 14:54     Чтение файлов - исправить ошибки в коде #1
Добрый день. Возникла проблема, с которой раньше не сталкивался: файл не открывается. Искал с интернете, в учебниках, в предыдущих программах, которые писал - ничего не работает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <fstream>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int n = 0, h = 0, w = 0;
    ifstream file;
    file.open("C:\\Users\\Ludwig\\Desktop\\OUTPUT.txt");
    if (!file) cerr << "can't open file!" << endl;
    else do{
        file >> h;
        file >> w;
        file >> n;
    } while (file.eof());
 
    system("pause");
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2014, 14:54     Чтение файлов - исправить ошибки в коде
Посмотрите здесь:

C++ Исправить ошибки в коде
C++ Исправить ошибки в коде
C++ Исправить ошибки в коде
C++ Исправить ошибки в коде
C++ исправить ошибки в коде
Исправить ошибки в коде C++
Исправить ошибки в коде C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lynatik001
 Аватар для Lynatik001
34 / 28 / 2
Регистрация: 28.09.2012
Сообщений: 569
11.08.2014, 15:25     Чтение файлов - исправить ошибки в коде #2
а по моему что-то пропустили

Для того, чтобы писать в текстовые файлы или читать из них, достаточно воспользоваться опера*торами << и >> для открытого потока. Например, следующая программа записывает целое чис*ло, число с плавающей запятой и строку в файл TEST:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
#include <fstream.h>
int main()
{
ofstream out("test");
if (!out) {
cout << "Cannot open file.\n";
return 1;
}
out << 10 << " " << 123.23 << "\n";
out << "This is a short text file.\n";
out.close ();
return 0;
}
Следующая программа читает целое число, число с плавающей запятой, символ и строку из файла, созданного предыдущей программой:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
#include <fstream.h>
int main()
{
char ch;
int i;
float f;
char str[80];
ifstream in("test");
if (!in) {
cout << "Cannot open file.\n";
return 1;
}
in >> i;
in >> f;
in >> ch;
in >> str;
cout << i << " " << f << " " << ch << "\n";
cout << str;
in.сlоse();
return 0;
}
Fallenworld
76 / 76 / 9
Регистрация: 14.04.2014
Сообщений: 408
11.08.2014, 15:47     Чтение файлов - исправить ошибки в коде #3
Как я понял, должна помочь инициализация при создании, а не присвоение через .open
C++
1
2
ifstream file("C:\\Users\\Ludwig\\Desktop\\OUTPUT.txt");
    if (!file) cerr << "can't open file!" << endl;
Ludwig
 Аватар для Ludwig
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 20
11.08.2014, 15:54  [ТС]     Чтение файлов - исправить ошибки в коде #4
Fallenworld, пробовал, результат тот же
zer0mail
2220 / 1903 / 192
Регистрация: 03.07.2012
Сообщений: 6,824
Записей в блоге: 1
11.08.2014, 15:56     Чтение файлов - исправить ошибки в коде #5
А файл-то есть по указанному пути?
Ludwig
 Аватар для Ludwig
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 20
11.08.2014, 16:01  [ТС]     Чтение файлов - исправить ошибки в коде #6
zer0mail, да, есть
zer0mail
2220 / 1903 / 192
Регистрация: 03.07.2012
Сообщений: 6,824
Записей в блоге: 1
11.08.2014, 16:05     Чтение файлов - исправить ошибки в коде #7
И он открывается редактором, например? Положите его в корень c: и откройте через
file("C:OUTPUT.txt") (C - английская).
Ludwig
 Аватар для Ludwig
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 20
11.08.2014, 16:09  [ТС]     Чтение файлов - исправить ошибки в коде #8
zer0mail, редактором открывается.
Просто через С не сработало, все равно не открывает
zer0mail
2220 / 1903 / 192
Регистрация: 03.07.2012
Сообщений: 6,824
Записей в блоге: 1
11.08.2014, 17:20     Чтение файлов - исправить ошибки в коде #9
Чудес не бывает, значит в имени или пути что-то напутал.
Открой прикрепленный файл и замени конец цикла на
C++
1
  } while (!file.eof());
Вложения
Тип файла: txt output.txt (5 байт, 3 просмотров)
zss
Модератор
Эксперт С++
 Аватар для zss
6055 / 5658 / 1828
Регистрация: 18.12.2011
Сообщений: 14,451
Завершенные тесты: 1
11.08.2014, 17:29     Чтение файлов - исправить ошибки в коде #10
Небольшой нюанс. Последний раз прочитаются неправильные данные.
Поэтому проверяйте, можно ли их использовать:
C++
1
2
3
4
5
6
do
{
        file >> h>>w>>n;
       if(!file.eof())
             cout<<h<<w<<n<<endl;
} while ( !file.eof() );
Ludwig
 Аватар для Ludwig
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 20
11.08.2014, 17:55  [ТС]     Чтение файлов - исправить ошибки в коде #11
zer0mail, не работает, все еще не открывает
zss, он не открывает файл, т.е. пропускает весь цикл. А если не писать цикл if, то он по циклу do-while бегает бесконечно
C++
1
2
3
4
5
6
7
8
9
if (!file) cerr << "can't open file!" << endl;
    else do{
        file >> h;
        file >> w;
        file >> n;
 
        if (!file.eof())
            cout << h << " " << w << " " << n;
    } while (!file.eof());
zss
Модератор
Эксперт С++
 Аватар для zss
6055 / 5658 / 1828
Регистрация: 18.12.2011
Сообщений: 14,451
Завершенные тесты: 1
11.08.2014, 20:19     Чтение файлов - исправить ошибки в коде #12
значит, в папке "C:\\Users\\Ludwig\\Desktop\\"
OUTPUT.txt файла нет.
Ludwig
 Аватар для Ludwig
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 20
11.08.2014, 20:37  [ТС]     Чтение файлов - исправить ошибки в коде #13
zss, я был бы очень рад, если бы так оно и было=(

Спасибо за советы, попытаюсь с этим что-то сделать, может быть выйдет что
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2014, 19:12     Чтение файлов - исправить ошибки в коде
Еще ссылки по теме:

Исправить ошибки в коде C++
C++ Исправить ошибки в коде
C++ Исправить ошибки в коде
C++ Исправить ошибки в коде.
Исправить ошибки в коде C++

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

Или воспользуйтесь поиском по форуму:
Fallenworld
76 / 76 / 9
Регистрация: 14.04.2014
Сообщений: 408
12.08.2014, 19:12     Чтение файлов - исправить ошибки в коде #14
может опечатка в названии файла или в пути?
Yandex
Объявления
12.08.2014, 19:12     Чтение файлов - исправить ошибки в коде
Ответ Создать тему
Опции темы

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