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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
04.02.2011, 18:03     Не выводится информация в файл через fstream #1
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;
}
не выводит в файл??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2011, 18:03     Не выводится информация в файл через fstream
Посмотрите здесь:

запись/чтение структуры через fstream C++
C++ Запись в файл fstream
Файл создаеться,но не записываеться в него информация и на консоли не выводится!Почему? C++
Ввод и вывод через fstream C++
C++ Fstream не видит файл
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
04.02.2011, 18:24     Не выводится информация в файл через fstream #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;
}
Ты не закрыл поток на чтение, а уже используеш на запись.
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 77
11.06.2014, 02:06     Не выводится информация в файл через fstream #3
Чет я не понял тут код, fstream что это? есть ifstream-> это чтение, есть ofstream это запись.
а написано
Цитата Сообщение от asics Посмотреть сообщение
fstream fio( "INPUT.TXT" );
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11840 / 6819 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
11.06.2014, 02:11     Не выводится информация в файл через fstream #4
http://www.cplusplus.com/reference/fstream/fstream/
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 77
11.06.2014, 02:14     Не выводится информация в файл через fstream #5
У меня базовый англ.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11840 / 6819 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
11.06.2014, 02:16     Не выводится информация в файл через fstream #6
Цитата Сообщение от Ринат Посмотреть сообщение
У меня базовый англ.
а c++ и схемы наследования?

Тем более перевести "Input/output stream class to operate on files." не составит труда даже гуглу
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 77
11.06.2014, 02:20     Не выводится информация в файл через fstream #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/
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 02:29     Не выводится информация в файл через fstream #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
Регистрация: 29.05.2014
Сообщений: 77
11.06.2014, 02:31     Не выводится информация в файл через fstream #9
Те все это разбить на функции?

Добавлено через 1 минуту
Или имеется введу разные методы?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 02:32     Не выводится информация в файл через fstream #10
Цитата Сообщение от Ринат Посмотреть сообщение
Или имеется введу разные методы?
Угу. Что-то одно: или текстовые, или бинарные, и не надо вот это в файл писать:
"Режжисер "<<"Фильм "<<"Год "<<"Цена "
Это при выводе можно добавлять.
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 77
11.06.2014, 02:33     Не выводится информация в файл через fstream #11
Если я избавлюсь от
Цитата Сообщение от alsav22 Посмотреть сообщение
file<<"Режжисер *"<<"Фильм *"<<"Год *"<<"Цена *"<<endl;
то по сути
Цитата Сообщение от alsav22 Посмотреть сообщение
file.write((char *) &lenta, sizeof(name));
считает со структуры?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 02:37     Не выводится информация в файл через fstream #12
Цитата Сообщение от Ринат Посмотреть сообщение
считает со структуры?
Первую структуру из массива структур. И не нужно там адрес брать у массива (&lenta), имя массива и так адрес.
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 77
11.06.2014, 02:41     Не выводится информация в файл через fstream #13
Да чет не читает
Цитата Сообщение от Ринат Посмотреть сообщение
file.write((char *) &lenta, sizeof(name));
Можно показать пример данной строки?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 02:46     Не выводится информация в файл через fstream #14
Цитата Сообщение от Ринат Посмотреть сообщение
Да чет не читает
Откуда видно?
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 77
11.06.2014, 02:48     Не выводится информация в файл через fstream #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));
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 02:50     Не выводится информация в файл через fstream #16
C++
1
2
3
4
5
6
7
8
9
10
11
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;
    }
Первый индекс массива 0, а не 1.

Добавлено через 1 минуту
Цитата Сообщение от Ринат Посмотреть сообщение
file.write((char *),sizeof(name));
Я же писал, что взятие адреса нужно убрать (&), а не имя массива.
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 77
11.06.2014, 02:56     Не выводится информация в файл через fstream #17
Убрал но заработало так же как и работало. те ввожу данные а они не записываются и не читается соответственно,
вот код:
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=0; 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 *) 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 минуты
А нет извеняюсь, в файл записало 123 но только это.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 03:02     Не выводится информация в файл через fstream #18
Цитата Сообщение от Ринат Посмотреть сообщение
в файл записало 123 но только это.
Вводили что, как, сколько? Скрин ввода покажите.
Ринат
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 77
11.06.2014, 03:05     Не выводится информация в файл через fstream #19
Сек
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 03:10     Не выводится информация в файл через fstream
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 03:10     Не выводится информация в файл через fstream #20
Записывает нормально. Сделайте запись одной структуры (i = 0) для проверки, потом увеличите. А вот чтение не исправили, оставили текстовый метод. Это, по-моему, я вам писал, что не нужно делать у функций возвращаемые значения, если они ничего не возвращают?
Yandex
Объявления
11.06.2014, 03:10     Не выводится информация в файл через fstream
Ответ Создать тему
Опции темы

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