Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2017, 14:13   #1
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию Ввод данных в файл и вывод из этого файла.

Здравствуйте!
Помогите пожалуйста понять, в чем проблема.
Первая программа запись данных в файл:
Код:
#include<fstream>
#include<iostream>
#include<string>
#include<conio.h>
using namespace std;
int main()
{
	char ch='x';
	int j=77;
	double d=6.02;
	string str1="Kafka";
	string str2="Proust";
	ofstream outfile("fdata.txt");
	outfile<<ch
		<<j
		<<' '
		<<d
		<<str1
		<<' '
		<<str2;
	cout<<"File save\n";
	getch();
	return 0;
}
Тут всё нормально, файл создаётся, данные в него записываются.
Следующая программа выводит эти данные из файла на монитор в консоль.
Код:
#include<fstream>
#include<iostream>
#include<string>
#include<conio.h>
using namespace std;
int main()
{
	char ch;
	int j;
	double d;
	string str1;
	string str2;
	ifstream infile("fdata.txt");
	infile>>ch>>j>>d>>str1>>str2;
	cout<<ch<<endl
		<<j<<endl
		<<d<<endl
		<<str1<<endl
		<<str2<<endl;
	getch();
	return 0;
}
И вот тут начинаются проблемы.
Выводится всякая чушь.
В чем дело?
Подскажите пожалуйста.
KAMLS вне форума Ответить с цитированием
Старый 22.07.2017, 14:57   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Вы читаете из файла текст и не переводите его в инт и дабл.
p51x вне форума Ответить с цитированием
Старый 22.07.2017, 15:23   #3
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Да что ж такое!
Этот учебник конкретно мне крышу уже шатанул!
Посмотрите что на фото страницы!
P.S.что-то перевернуто изображение.. Было норм.
Изображения
Тип файла: jpg 20170722_181948.jpg (97.1 Кб, 116 просмотров)
KAMLS вне форума Ответить с цитированием
Старый 22.07.2017, 16:06   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не переводит что?
Вроде ж должно работать.

http://rextester.com/CNDSH6134

Может просто файла нет? Вы не проверяете успешность открытия.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.07.2017, 16:37   #5
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Нет. Файл есть. Я заходил в папку проекта где он сохранился, открывал его, данные записаны.
кстати да, ваш вариант работает.

Последний раз редактировалось KAMLS; 22.07.2017 в 16:40.
KAMLS вне форума Ответить с цитированием
Старый 22.07.2017, 16:44   #6
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Вот что получается у меня.
Может быть у вас получается потому, что вы пользуетесь конкретными функциями write(); и read();? А в учебнике всё в одном main();
Изображения
Тип файла: jpg 2.jpg (114.5 Кб, 121 просмотров)

Последний раз редактировалось KAMLS; 22.07.2017 в 16:54.
KAMLS вне форума Ответить с цитированием
Старый 22.07.2017, 17:11   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Я заходил в папку проекта где он сохранился
так вы ж новый проект создали.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 23.07.2017, 07:21   #8
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

И в новый и в старый. Везде смотрел. Ваш код создаёт точно такой же файл с точно таким же содержимым.
Просто у меня две программы. Одна создаёт файл и заносит туда данные, Другая извлекает данные из этого файла. В обеих всё делается в main(); Функции write(); и read(); не используются.
KAMLS вне форума Ответить с цитированием
Старый 23.07.2017, 09:02   #9
agmag
Пользователь
 
Регистрация: 15.07.2017
Сообщений: 31
По умолчанию

Попробуйте поставить пробел между всеми значениями:
Код:
#include<fstream>
#include<iostream>
#include<string>

using namespace std;
int main()
{
	char ch='x';
	int j=77;
	double d=6.02;
	string str1="Kafka";
	string str2="Proust";
	ofstream outfile("fdata.txt");
	outfile<<ch
		<<' '
		<<j
		<<' '
		<<d
		<<' '
		<<str1
		<<' '
		<<str2;
	cout<<"File save\n";

	return 0;
}
agmag вне форума Ответить с цитированием
Старый 23.07.2017, 09:19   #10
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Я это делал. Не в программе, а в созданном файле. Поскольку программ две, одна на создание, а другая на вывод, то можно сразу в самом файле так попробовать сделать. Но нет, не помогло. Мне думается всё дело в использовании - не использовании функций write(); и read();. Но ведь я срисовал программы с учебника... Как же так? Почему не работает?
KAMLS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод-вывод данных из файла PASCAL Monarch Помощь студентам 3 29.06.2014 20:11
Ввод данных в массив записей из текстового файла, сортировка по ключу, вывод в файл (на Паскаль) orandzheviyman Помощь студентам 8 21.01.2014 08:15
Ввод и вывод данных из файла Despot777 Общие вопросы C/C++ 1 26.10.2013 20:11
Ввод текста из файла,шифровка и вывод в новый файл stdio Общие вопросы C/C++ 1 16.04.2012 09:40
После сохранения в файл *.xls при открытии этого файла выдается предупреждение. Как от этого избавиться? A-IX-2 Общие вопросы Delphi 1 13.11.2011 20:33