Форум: Форум C++Разное
Новые темы: 00
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Пробелы
 
 автор: bronenos   (21.01.2007 в 12:57)   письмо автору
 
 

Это снова я :)
Столкнулся с проблемой, что при записи в файл все, что до пробела - пишется, остальное пропадает.... Это только файлов касается или вообще такая трабла? И что с этим можо сделать?

  Ответить  
 
 автор: Trianon   (21.01.2007 в 13:09)   письмо автору
 
   для: bronenos   (21.01.2007 в 12:57)
 

Именно при записи, а не при чтении?

  Ответить  
 
 автор: bronenos   (21.01.2007 в 13:25)   письмо автору
 
   для: Trianon   (21.01.2007 в 13:09)
 

Хм....... может и при чтении... во всяком случае, когда я принимаю значение и пишу в файл - вместо "привет, макс" выходит "привет,"

  Ответить  
 
 автор: Фитч   (21.01.2007 в 13:31)   письмо автору
 
   для: bronenos   (21.01.2007 в 13:25)
 

Принимаешь откуда? Если с консоли, то обычно читается только то, что до пробела, все, что после - это уже считается (машиной) не то. Т.е. если надо считать 2 переменные, то можно сделать так:

/* chego-to tam */

cin>> a >> b;

/* nu i dalshe */


а в консоли надо будет вводить (например):

1 2


Насколько я помню, это можно обойти при помощи cin.getline(char kuda, int skolko_bait)...

  Ответить  
 
 автор: bronenos   (21.01.2007 в 13:41)   письмо автору
 
   для: Фитч   (21.01.2007 в 13:31)
 

Ну не в том дело, что переменные, а в том, что надо текст записать в файл

  Ответить  
 
 автор: cheops   (21.01.2007 в 14:20)   письмо автору
 
   для: bronenos   (21.01.2007 в 12:57)
 

Нужно больше подробностей, желательно бы небольшой кусочек кода, чтобы можно было воспроизвести ситуацию.

  Ответить  
 
 автор: bronenos   (21.01.2007 в 15:45)   письмо автору
 
   для: cheops   (21.01.2007 в 14:20)
 

http://phx.freedomf.net/set/b_chat.cpp

  Ответить  
 
 автор: Trianon   (21.01.2007 в 16:03)   письмо автору
 
   для: bronenos   (21.01.2007 в 15:45)
 

Как и предполагалось. Не работает не запись, а чтение. cin - считайте тоже файл. Файл клавиатурного потока.
            cout << "\nInput your message: ";
            cin >> msg;


Из него Вы последним оператором берете строку.
Точнее, думаете, что берете целую строку.
А на самом деле берете слово до первого пробела.
О чем, собственно, Фитч и говорил.

  Ответить  
 
 автор: bronenos   (21.01.2007 в 16:15)   письмо автору
 
   для: Trianon   (21.01.2007 в 16:03)
 

Но getline у меня не работает...

  Ответить  
 
 автор: Фитч   (21.01.2007 в 19:26)   письмо автору
 
   для: bronenos   (21.01.2007 в 16:15)
 

В смысле - не работает?

Вот пример:


char msg[32] = {' '};

cin.getline(msg,32);
cout<<msg<<endl;



Всё работает, проверял

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования