Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / еще 1 вопрос по строке / 5 сообщений из 5, страница 1 из 1
27.10.2005, 21:48
    #33348793
Inik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще 1 вопрос по строке
есть программный код:

string s, s1;
ifstream f_in(name);

// чтение текста из файла данных
while(!f_in.eof())
{
getline(f_in, s);
}

if (!f_in)
// ...
А как теперь из строки s прочитать по очереди слова до пробелов в s1?

И почему здесь не работает while(!f_in.eof()) - когда обрабатываю ошибку if (!f_in) - строка не читается?
...
Рейтинг: 0 / 0
28.10.2005, 06:43
    #33348994
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще 1 вопрос по строке
InikА как теперь из строки s прочитать по очереди слова до пробелов в s1?

Например так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
void Decode(char *p, char *seps)
{
	char *token;
	char *pp;
	pp=NULL;
    token=strtok(p,seps);
    while(token!=NULL)
     {
      pp=token;
      printf("%s",pp);
      token=strtok(NULL,seps);        
     }
  return;
}

void main(void)
{
...
Decode("А роза упала на лапу Азора"," ");
}
...
Рейтинг: 0 / 0
18.11.2005, 20:05
    #33387813
Inik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще 1 вопрос по строке
Спасибо! Все получилось, только хотелось бы узнать , что означает NULL в strtok:
token=strtok(NULL,seps);
...
Рейтинг: 0 / 0
19.11.2005, 16:17
    #33388349
nikname
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще 1 вопрос по строке
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
	while(!in.eof())
	{ 
			string tmp;
			getline(in, tmp);
			basic_string <char>::size_type idx;
			while ( (idx=tmp.find_first_of(" \t\n\r")) != - 1  ){
				string tmptmp(tmp.begin(),tmp.begin()+idx);
				tmp = string(tmp.begin()+idx+ 1 ,tmp.end());
				cout<<tmptmp.c_str()<<endl;
			}
			if ( tmp.size() )
				cout<<tmp.c_str()<<endl;
			
			
	}
...
Рейтинг: 0 / 0
20.11.2005, 12:28
    #33388675
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
еще 1 вопрос по строке
В strtok сначала запихивается строка, которую он сохраняет во внутреннем буфере. Потом он из этой строки при последующих вызовах извлекает токены.
При последующих вызовах первый параметр должен быть NULL.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / еще 1 вопрос по строке / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]