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

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

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

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

11.08.2014, 14:54. Просмотров 409. Ответов 13
Метки нет (Все метки)

Добрый день. Возникла проблема, с которой раньше не сталкивался: файл не открывается. Искал с интернете, в учебниках, в предыдущих программах, которые писал - ничего не работает.

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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2014, 14:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение файлов - исправить ошибки в коде (C++):

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

Исправить ошибки в коде - C++
Вообщем нужна помощь в нахождении ошибок!5 легеньких Заданий(в комментариях в main.cpp). Суть ошибок: 1.Какое то значение из 1-го...

Исправить ошибки в коде - C++
#include &lt;iostream&gt; using namespace std; int main() { int n; int i; int e = 0; int l = 0;

Исправить ошибки в коде - C++
#include &lt;iostream&gt; using namespace std; const int n=5; class dancer {public: char MenName; char WomenName;

13
Lynatik001
38 / 32 / 4
Регистрация: 28.09.2012
Сообщений: 620
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;
}
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;
0
Ludwig
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 20
11.08.2014, 15:54  [ТС] #4
Fallenworld, пробовал, результат тот же
0
zer0mail
2342 / 1972 / 193
Регистрация: 03.07.2012
Сообщений: 7,090
Записей в блоге: 1
11.08.2014, 15:56 #5
А файл-то есть по указанному пути?
0
Ludwig
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 20
11.08.2014, 16:01  [ТС] #6
zer0mail, да, есть
0
zer0mail
2342 / 1972 / 193
Регистрация: 03.07.2012
Сообщений: 7,090
Записей в блоге: 1
11.08.2014, 16:05 #7
И он открывается редактором, например? Положите его в корень c: и откройте через
file("C:OUTPUT.txt") (C - английская).
0
Ludwig
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 20
11.08.2014, 16:09  [ТС] #8
zer0mail, редактором открывается.
Просто через С не сработало, все равно не открывает
0
zer0mail
2342 / 1972 / 193
Регистрация: 03.07.2012
Сообщений: 7,090
Записей в блоге: 1
11.08.2014, 17:20 #9
Чудес не бывает, значит в имени или пути что-то напутал.
Открой прикрепленный файл и замени конец цикла на
C++
1
  } while (!file.eof());
0
Вложения
Тип файла: txt output.txt (5 байт, 3 просмотров)
zss
Модератор
Эксперт С++
6400 / 5966 / 1943
Регистрация: 18.12.2011
Сообщений: 15,357
Завершенные тесты: 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() );
0
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());
0
zss
Модератор
Эксперт С++
6400 / 5966 / 1943
Регистрация: 18.12.2011
Сообщений: 15,357
Завершенные тесты: 1
11.08.2014, 20:19 #12
значит, в папке "C:\\Users\\Ludwig\\Desktop\\"
OUTPUT.txt файла нет.
0
Ludwig
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 20
11.08.2014, 20:37  [ТС] #13
zss, я был бы очень рад, если бы так оно и было=(

Спасибо за советы, попытаюсь с этим что-то сделать, может быть выйдет что
0
Fallenworld
76 / 76 / 9
Регистрация: 14.04.2014
Сообщений: 408
12.08.2014, 19:12 #14
может опечатка в названии файла или в пути?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2014, 19:12
Привет! Вот еще темы с ответами:

исправить ошибки в коде - C++
Помогите и исправьте ошибки в моём коде. Буду очень благодарен. Ссылка на условие задачи: ...

Исправить ошибки в коде - C++
Возникла проблема при написании программы. Выдаются ошибки которых нет на самом деле. помогите, пожалуста. код Parcer::Parcer() { ...

Исправить ошибки в коде - C++
#include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(int argc, char *argv) { int p; float...

Исправить ошибки в коде - C++
как исправить ошибки где я допустил их


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

Или воспользуйтесь поиском по форуму:
14
Yandex
Объявления
12.08.2014, 19:12
Ответ Создать тему
Опции темы

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