Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Потоки, записать больше байта 
V
    Опции темы
Sosed
Дата 26.8.2009, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 18.8.2009

Репутация: 1
Всего: 1



Здравствуйте, как записать в файл переменную int и потом прочитать её?

Код

ofstream fout( "1.txt", ios::binary );
int i = 500;
fout.write( &i, sizeof( int ) ); // по идее так но не робит


PM MAIL   Вверх
azesmcar
Дата 26.8.2009, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(Sosed @  26.8.2009,  13:27 Найти цитируемый пост)
fout.write( &i, sizeof( int ) ); // по идее так но не робит

write принимает char*, ты ему передаешь int*.
Код

ofstream fout( "d:\\1.txt", ios::binary );
int i = 500;
fout.write( (char*)&i, sizeof( int ) );
fout.close();

PM   Вверх
Sosed
Дата 26.8.2009, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 18.8.2009

Репутация: 1
Всего: 1



Емае, спасибо)
PM MAIL   Вверх
shuttle
Дата 27.8.2009, 05:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 9.4.2008

Репутация: нет
Всего: нет



Код

ofstream fout( "d:\\1.txt", ios::binary );
int i = 500;
fout.write( (char*)&i, sizeof( int ) );
fout.close();


У меня  полная ерунда в файл записалась.
--------------------
PM MAIL   Вверх
andrew_121
Дата 27.8.2009, 05:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



а что ты хочешь чтоб там было?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
azesmcar
Дата 27.8.2009, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(shuttle @  27.8.2009,  05:25 Найти цитируемый пост)
У меня  полная ерунда в файл записалась. 

файл бинарный, числа 500 в текстовом редакторе ты там не увидишь (если ты об этом).
PM   Вверх
bsa
Дата 27.8.2009, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Можно так писать и читать:
Код
ofstream fout( "d:\\1.txt", ios::binary );
int i = 500;
fout.write( (const char*)&i, sizeof( *i ) );
fout.close();
...
ifstream fin( "d:\\1.txt", ios::binary );
int i;
fin.read( (char*)&i, sizeof( *i ) );
fin.close();
Но судя по расширению файла, тебе он нужен не бинарным. Поэтому логичней делать так:
Код
ofstream fout("d:\\1.txt");
int i = 500;
fout << i << std::endl;
fout.close();
...
ifstream fin("d:\\1.txt");
int i;
fin >> i;
fin.close();

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0485 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.