| Lom | 
| Отправлено: 23.09.2005, 21:05 | 
 
 
 | 
  
Ученик-кочегар 
 
Группа: Участник 
Сообщений: 13 
  
  
 | 
 Здраствуйте. 
У меня возникла непонятка с таким вот кодом: 
| CODE  |   
#include <fstream> 
#include <iomanip> 
... 
char s[70]; 
fstream file; 
file.open(NameFile.c_str(), ios::in);
  
f >> setw(70) >> s;  //здесь проблема 
... 
 |  
  
Я предполагал, что с таким манипулятором (setw(70)) я прочитаю ровно 70 символов в массив s. А на самом деле читается только до первого пробела. 
Подскажите пожалуйста в чем моя ошибка. 
Как считать заданное количество символов?  | 
  | 
| Георгий | 
| Отправлено: 24.09.2005, 23:31 | 
 
 
 | 
  
Почетный железнодорожник 
 
Группа: Модератор 
Сообщений: 874 
  
  
 | 
 а оно вроде бы только на вывох действует. 
для ввода используйте методы getline или read  | 
  | 
| Lom | 
| Отправлено: 25.09.2005, 00:06 | 
 
 
 | 
  
Ученик-кочегар 
 
Группа: Участник 
Сообщений: 13 
  
  
 | 
 Спасибо. Как обойтись без setw я разобрался. 
Но вот табличка в хелпе 
| QUOTE  |   
Manipulator      Use           Effect        Equivalent 
... 
setw(int n)        io         Sets minimal field width         io.width(n) 
... 
 |  
  
(io) говорит о том, что манипулятор действует как на вход так и на выход. 
Значит либо ошибка в хелпе, либо я чего-то не догоняю.
  
Отредактировано Lom — 25/09/2005, 00:08  | 
  |