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

Ввод-вывод из файла, ошибка

20.05.2014, 19:35. Просмотров 457. Ответов 11
Метки нет (Все метки)

Помогите, программа выводит числа из файла, потом вписывает в файл что-нибудь. Числа будут обрабатываться, но это будет чуть позже. Так вот: Программа исправно вписывает в файл текст, значения переменных, но вот в переменные значения не кладет!
Что не так?
З.Ы. Возможно, дело в пути файла? Но если делать любой из двойных слешев одинарным, то путь подчеркивает.
Текст:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include "conio.h"
using namespace std;
int main()
{
    ifstream read_file( "C:\\Users\\User\\Desktop\filename.txt");            //функция ввода
    int a, b;
    read_file>>a>>b;
    ofstream write_file ("filename.txt");
    read_file.close();
    write_file<<a<<b<<"Что-нибудь";                                          //и вывода
    write_file.close();
    return 0;
}
И еще: программа запускается, но ничего не происходит. Вывод есть только, если запустить экзешник в папке дебага, где, кстати, и лежит файл вывода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2014, 19:35
Ответы с готовыми решениями:

Добиться, чтобы была ошибка открытия файла (файловый ввод/вывод)
Здравствуйте! Вот небольшая прога которая по идее должна ждать пока файл не...

Ввод и вывод из файла
Есть программа. Нужно сделать так, чтобы размерность матрицы можно было считать...

Ввод\вывод из файла
Подскажите в чем ошибка при чтении из файла и как правильно? #include...

Ввод/Вывод в/из файла
Задача такая. На вход подаётся текст (считать из файла). На выходе (записать в...

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

11
Qazan
214 / 62 / 25
Регистрация: 30.04.2013
Сообщений: 854
Записей в блоге: 10
20.05.2014, 19:39 2
Вам нужно обязательно указывать абсолютный путь ??

С относительным будет все в порядке
аналогично тому как вы сделали у ofstream,
0
frostbool
-7 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 35
20.05.2014, 19:42  [ТС] 3
Абсолютный - я так понимаю,как указал. А как еще можно? Если не указывать такой путь, то что там писать?

Добавлено через 1 минуту
C
1
2
ifstream read_file( "readfilename.txt");
    ofstream write_file ("outfilename.txt");
так?
0
srin
25 / 25 / 14
Регистрация: 05.05.2014
Сообщений: 115
20.05.2014, 19:44 4
Цитата Сообщение от frostbool Посмотреть сообщение
"C:\\Users\\User\\Desktop\filename.txt"
1. ну здесь как бы и перед "filename.txt" тоже двойной слэш нужен.
2. Написать просто "filename.txt" - это относительный путь. файл должен находится рядом с "exe" программой.
0
frostbool
-7 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 35
20.05.2014, 19:51  [ТС] 5
Спасибо)
Переписал пути, случайно указал и там, и там адрес считываемого, теперь огромная таблица чисел заменилась на 2 и 3)
Но эти 2 и 3 в выводной не записывает, что любопытно.

Добавлено через 3 минуты
И опять-таки программа нормально срабатывает лишь по экзешнику. Кстати, первые числа - 2 и 0, все сработало.
Заменил на 20 и 01, один ноль сжевала, вывод - 201
0
Qazan
214 / 62 / 25
Регистрация: 30.04.2013
Сообщений: 854
Записей в блоге: 10
20.05.2014, 19:52 6
frostbool, Да. Только файл должен лежать там же, где в данный момент запускается программа

можно еще обрабатывать всякого рода ошибки на предмет того ,что с файлом

в VisualStudio если так запускаешь F5 то где лежит исходник,
если exe запускаете то рядом с экзешником
0
srin
25 / 25 / 14
Регистрация: 05.05.2014
Сообщений: 115
20.05.2014, 19:54 7
так у вас 01 - это и будет в int - "1". Надо в char или string записывать.
0
Qazan
214 / 62 / 25
Регистрация: 30.04.2013
Сообщений: 854
Записей в блоге: 10
20.05.2014, 19:55 8
frostbool, ну выводить надо с пробелами fout << a << ' ' << b;
иначе все подряд будет
0
frostbool
-7 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 35
20.05.2014, 23:57  [ТС] 9
Это я читал, так можно.
Я же в файле лишь числа храню.
С 201 разобрался. В общем, все работает пока, но лишь по экзешнику.
Сейчас буду прописывать обработку ввода, чтобы число забиралось, кидалось в массив, так со всеми.
Потом сортировка и вывод в файлик.

Добавлено через 38 секунд
Точно, спасибо)

Добавлено через 4 часа 0 минут
upd: А как записывать числа из файла дальше? Т.е. в переменную записывается лишь первое число из файла, как записывать дальше?
0
Qazan
214 / 62 / 25
Регистрация: 30.04.2013
Сообщений: 854
Записей в блоге: 10
21.05.2014, 05:49 10
Цитата Сообщение от frostbool Посмотреть сообщение
upd: А как записывать числа из файла дальше? Т.е. в переменную записывается лишь первое число из файла, как записывать дальше?

всмысле ?
продолжаете читать
varOne << varTwo << varThree << varFour << ..

ну или лучше в массив если много ;

При каждом открытий файла каретка переноситься в начало ;
Т.е. чтение будет с начала при каждом объявлений

C++
1
    std::ifstream fin("Ogogo");
0
frostbool
-7 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 35
22.05.2014, 00:07  [ТС] 11
Цитата Сообщение от Qazan Посмотреть сообщение
varOne << varTwo << varThree << varFour << ..
Не понял.
C++
1
read_file>>a;
Вот допустим, я хочу вместо a поставить m[i]. Считает в m[i]. Но как прописать запись всего массива?
Можно кусочком программы? Она ведь ма-аленькая ^^

тута)
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include "conio.h"
#define size 500
using namespace std;
int main()
{
    int a,m[size],cnt=0;
    ifstream read_file("infilename.txt");
    read_file>>a;
    ofstream write_file ("outfilename.txt");
    read_file.close();
    m[cnt]=a;
    printf("%d\n",m[cnt]);
    write_file<<a<<" \n";
    write_file.close();
    return 0;
}
0
Qazan
214 / 62 / 25
Регистрация: 30.04.2013
Сообщений: 854
Записей в блоге: 10
22.05.2014, 04:29 12
циклом
0
22.05.2014, 04:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2014, 04:29

Ввод-вывод из файла
Товарищи форумчане, помогите разобраться с выводом из файла на экран. Забить в...

Ввод из файла и вывод в файл
#include&lt;iostream&gt; #include&lt;iomanip&gt; #include&lt;ctime&gt; #include&lt;cstdlib&gt; ...

C++ ввод вывод редактирование файла
Нужно составить консольную программу с простейшим интерфейсом используя...


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

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

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