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

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

Восстановить пароль Регистрация
 
frostbool
 Аватар для frostbool
-7 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 32
20.05.2014, 19:35     Ввод-вывод из файла, ошибка #1
Помогите, программа выводит числа из файла, потом вписывает в файл что-нибудь. Числа будут обрабатываться, но это будет чуть позже. Так вот: Программа исправно вписывает в файл текст, значения переменных, но вот в переменные значения не кладет!
Что не так?
З.Ы. Возможно, дело в пути файла? Но если делать любой из двойных слешев одинарным, то путь подчеркивает.
Текст:
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;
}
И еще: программа запускается, но ничего не происходит. Вывод есть только, если запустить экзешник в папке дебага, где, кстати, и лежит файл вывода.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2014, 19:35     Ввод-вывод из файла, ошибка
Посмотрите здесь:

ввод\вывод в файл\из файла C++
Ввод из файла и вывод в файл C++
Ввод\вывод из файла C++
C++ Ввод-вывод из файла
C++ Ввод и вывод из файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 778
Записей в блоге: 10
20.05.2014, 19:39     Ввод-вывод из файла, ошибка #2
Вам нужно обязательно указывать абсолютный путь ??

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

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

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

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

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

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

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

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

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

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

C++
1
    std::ifstream fin("Ogogo");
frostbool
 Аватар для frostbool
-7 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 32
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2014, 04:29     Ввод-вывод из файла, ошибка
Еще ссылки по теме:

C++ Ввод\вывод файла
Ввод/Вывод в/из файла C++
Ввод/вывод данных в/из файла C++

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

Или воспользуйтесь поиском по форуму:
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 778
Записей в блоге: 10
22.05.2014, 04:29     Ввод-вывод из файла, ошибка #12
циклом
Yandex
Объявления
22.05.2014, 04:29     Ввод-вывод из файла, ошибка
Ответ Создать тему
Опции темы

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