Считывание текста из файла.
От: SLashrulez  
Дата: 16.04.03 11:55
Оценка:
Люди, не подскажите, как из под доса, при считывании из файла информации определить где есть пробел, а где переход на след. строку? Т.е. если при обычном вооде с клавиатуры можно отключить resetiosflags(ios::skipws); и он будет понимать и пробелы и ентеры, а как бы это сделать при считывании из файла? Можно циклом после каждого слова пробел или переход вставлять, но вот как определить где что? Вопрос думаю понятен, очень прошу не игнорировать и ответить!
Re: Считывание текста из файла.
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 16.04.03 12:05
Оценка:
Здравствуйте, SLashrulez, Вы писали:

Можно так: сначала читаем строку целиком, потом разбираем ее на слова, если нужно:

string s;
ifstream fin("1.txt");

while (getline(fin, s)) // читаем по строкам
{
    istringstream iss(s);

    string s2;
    while (iss >> s2) // читаем прочитанную строку по словам
        ...
}
... << RSDN@Home 1.0 beta 6a >>
Re[2]: Считывание текста из файла.
От: Sashenka  
Дата: 30.09.03 16:43
Оценка:
Здравствуйте, Михаил Можаев, Вы писали:

ММ>Здравствуйте, SLashrulez, Вы писали:


ММ>Можно так: сначала читаем строку целиком, потом разбираем ее на слова, если нужно:


ММ>
ММ>string s;
ММ>ifstream fin("1.txt");

ММ>while (getline(fin, s)) // читаем по строкам
ММ>{
ММ>    istringstream iss(s);

ММ>    string s2;
ММ>    while (iss >> s2) // читаем прочитанную строку по словам
ММ>        ...
ММ>}
ММ>


А можно ли так же лаконично прочитать построчно но не из файла, а из строки?
Re[3]: Считывание текста из файла.
От: Кодт Россия  
Дата: 01.10.03 06:02
Оценка:
Здравствуйте, Sashenka, Вы писали:

S>А можно ли так же лаконично прочитать построчно но не из файла, а из строки?


Канэшна!
У нас будут 2 потока: один — исходная многострочная строка, а второй — однострочная.
string sMultiline;
istringstream issMultiline (sMultiline);

for(string sLine; issMultiline.getline(sLine); )
{
  istringstream issLine (sLine);

  // чтение известных данных
  int x; double y; string z;
  issLine >> x >> y >> z;
  // ну или то, что там тебе надо.
}
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.