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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
#1

Не выводится информация в файл через fstream - C++

04.02.2011, 18:03. Просмотров 1846. Ответов 55
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <fstream>
#include <iostream>
 
using namespace std;
 
int main()
{
   fstream fio( "input.txt" );
   int a;
   fio >> a;
   fio.open( "output.txt" );
   fio << a << endl;
   
   return 0;
}
не выводит в файл??
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2011, 18:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не выводится информация в файл через fstream (C++):

Информация не сохраняется файл через fstream - C++
Если создать объект типа fstream, то в файл почему-то ничего не записывается (в отличие от ofstream) fstream...

Файл создается, но в него не записываеться информация, и не выводится в консоль - C++
#include &lt;vcl.h&gt; #pragma hdrstop #include&lt;stdlib.h&gt; #include&lt;iostream.h&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #pragma argsused ...

Не выводится информация из файла - C++
не выводится информация с файла! #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; struct test { std::string...

Функция cin.get - информация не выводится - C++
При вводе числа данная программа работает нормально, однако если ввести, например, букву по идее должно появляться сообщение &quot;Ошибка! Это...

Ввод и вывод через fstream - C++
Непонятно почему не выводит в файл. Например в файле 123 &quot;аааббб&quot; а в файл 321 пустота, но если использовать разные имена потоков все ок. ...

Fstream не видит файл - C++
Делаю лабу и возникла такая проблема - надо открыть текстовый файл. Файл лежит в одной папке c .exe . Но программа упорно не видит файл. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
04.02.2011, 18:24 #2
Mayonez,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <fstream>
#include <iostream>
 
using namespace std;
 
int main()
{
   fstream fio( "INPUT.TXT" );
   int a;
   fio >> a;
   fio.close();
   fio.open( "OUTPUT.TXT" );
   fio << a << endl;
 
   return 0;
}
Ты не закрыл поток на чтение, а уже используеш на запись.
1
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 81
11.06.2014, 02:06 #3
Чет я не понял тут код, fstream что это? есть ifstream-> это чтение, есть ofstream это запись.
а написано
Цитата Сообщение от asics Посмотреть сообщение
fstream fio( "INPUT.TXT" );
0
Croessmah
Эксперт CЭксперт С++
13213 / 7484 / 843
Регистрация: 27.09.2012
Сообщений: 18,400
Записей в блоге: 3
Завершенные тесты: 1
11.06.2014, 02:11 #4
http://www.cplusplus.com/reference/fstream/fstream/
0
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 81
11.06.2014, 02:14 #5
У меня базовый англ.
0
Croessmah
Эксперт CЭксперт С++
13213 / 7484 / 843
Регистрация: 27.09.2012
Сообщений: 18,400
Записей в блоге: 3
Завершенные тесты: 1
11.06.2014, 02:16 #6
Цитата Сообщение от Ринат Посмотреть сообщение
У меня базовый англ.
а c++ и схемы наследования?

Тем более перевести "Input/output stream class to operate on files." не составит труда даже гуглу
0
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 81
11.06.2014, 02:20 #7
По теме хотел бы задать вопрос, написал код по сути должен бы он работать, запускается ввожу данные но вывода нет и не записывает в текст файл данные которые я вводил, вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <fstream>
#include <string>
#include <stdio.h>
using namespace std;
 
 
 
 
struct name{//глобальная структура к которой обращается функция ввода
char regicer[100];
char films[100];
int god;
int dollar;
};name lenta[40];
 
 
 
int vvod(void)//Функция ввода по сути которая должна возвращать переменные в структуру.
 
{setlocale(LC_ALL, "RUS");
    int i;
    for(i=1; i<=5;i++){
    cout<<"ВВедите режисера: ";
    cin>>lenta[i].regicer;
    cout<<"Введите название фильма: ";
    cin>>lenta[i].films;
    cout<<"Введите год выпуска фильма: ";
    cin>>lenta[i].god;
    cout<<"Введите стоимость: ";
    cin>>lenta[i].dollar;
}
}
int writes(void)// функция откр файла и запись в него
{setlocale(LC_ALL, "RUS");
ofstream file("FILMS.TXT");
file<<"Режжисер  "<<"Фильм  "<<"Год  "<<"Цена  "<<endl;
file.write((char *) &lenta, sizeof(name));
file.close();
 
 
}
int read(void){setlocale(LC_ALL, "RUS");//функция чтения файла
ifstream file("FILMS.TXT");
char line[100];
 
while(!file.eof()){
 
file.getline(line, sizeof(line));
cout<<line<<endl;
 
}
 
 
}
 
int main(){
vvod();
writes();
read();
return(0);
 
 
}
Добавлено через 2 минуты
Использовал http://programmersclub.ru/34/
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 02:29 #8
Всё в кучу: бинарные методы, текстовые...
Сначала так:
C++
1
file<<"Режжисер  "<<"Фильм  "<<"Год  "<<"Цена  "<<endl;
Потом так:
C++
1
file.write((char *) &lenta, sizeof(name));
Потом этак:
C++
1
2
3
4
5
char line[100];
while(!file.eof()){
 file.getline(line, sizeof(line));
cout<<line<<endl;
}
0
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 81
11.06.2014, 02:31 #9
Те все это разбить на функции?

Добавлено через 1 минуту
Или имеется введу разные методы?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 02:32 #10
Цитата Сообщение от Ринат Посмотреть сообщение
Или имеется введу разные методы?
Угу. Что-то одно: или текстовые, или бинарные, и не надо вот это в файл писать:
"Режжисер "<<"Фильм "<<"Год "<<"Цена "
Это при выводе можно добавлять.
0
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 81
11.06.2014, 02:33 #11
Если я избавлюсь от
Цитата Сообщение от alsav22 Посмотреть сообщение
file<<"Режжисер *"<<"Фильм *"<<"Год *"<<"Цена *"<<endl;
то по сути
Цитата Сообщение от alsav22 Посмотреть сообщение
file.write((char *) &lenta, sizeof(name));
считает со структуры?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 02:37 #12
Цитата Сообщение от Ринат Посмотреть сообщение
считает со структуры?
Первую структуру из массива структур. И не нужно там адрес брать у массива (&lenta), имя массива и так адрес.
0
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 81
11.06.2014, 02:41 #13
Да чет не читает
Цитата Сообщение от Ринат Посмотреть сообщение
file.write((char *) &lenta, sizeof(name));
Можно показать пример данной строки?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 02:46 #14
Цитата Сообщение от Ринат Посмотреть сообщение
Да чет не читает
Откуда видно?
0
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 81
11.06.2014, 02:48 #15
Ну в смысле ругаться стал на код именно в этой строке

Добавлено через 36 секунд
Получается так :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <fstream>
#include <string>
#include <stdio.h>
using namespace std;
 
 
 
 
struct name{//глобальная структура к которой обращается функция ввода
char regicer[100];
char films[100];
int god;
int dollar;
};name lenta[40];
 
 
 
int vvod(void)//Функция ввода по сути которая должна возвращать переменные в структуру.
 
{setlocale(LC_ALL, "RUS");
    int i;
    for(i=1; i<=5;i++){
    cout<<"ВВедите режисера: ";
    cin>>lenta[i].regicer;
    cout<<"Введите название фильма: ";
    cin>>lenta[i].films;
    cout<<"Введите год выпуска фильма: ";
    cin>>lenta[i].god;
    cout<<"Введите стоимость: ";
    cin>>lenta[i].dollar;
}
}
int writes(void)
{setlocale(LC_ALL, "RUS");
ofstream file("FILMS.TXT");
file.write((char *),sizeof(name));
file.close();
 
 
}
int read(void){setlocale(LC_ALL, "RUS");
ifstream file("FILMS.TXT");
char line[100];
while(!file.eof()){
 
file.getline(line, sizeof(line));
cout<<line<<endl;
 
}
 
}
 
int main(){
vvod();
writes();
read();
return(0);
 
 
}
Добавлено через 27 секунд
Ругается именно на
Цитата Сообщение от Ринат Посмотреть сообщение
file.write((char *),sizeof(name));
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 02:48
Привет! Вот еще темы с ответами:

Запись в файл fstream - C++
После первого прогона не выводит ничего из файла. void WriteInTheFile(fstream &amp;file_in) { file_in.seekg(0,file_in.end); char str;...

Запись в файл fstream - C++
Вот такой вот код , изобразил я для записи переменной в файл , проблема в том , что компилятор записывает в него не 10 раз L , а ...

Fstream не видит файл - C++
Почему в Visual Studio2015 не находит текстовый файл, который лежит рядом с .exe? ifstream F; F.open(&quot;vacancy.txt&quot;); char...

Запись/чтение структуры через fstream - C++
Доброго времени суток! у меня есть несколько вопросов по поводу файловых потоков. 1. Как можно записать/прочитать массив структур в...


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

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

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