Проблемы с Текстом
От: Flagman  
Дата: 23.05.04 09:29
Оценка:
Помогите если кто знает. Я ввожу строку с текстом через scanf("%s",s) например, там несколько слов, как мне отделить каждое слово и записать его отдельно, чето фишка через символ пробела не пашет, пробую так: s[i]=='\32' или s[i]==32 не пашет помогите кто знает.
Re: Проблемы с Текстом
От: Аноним  
Дата: 23.05.04 09:47
Оценка:
Здравствуйте, Flagman, Вы писали:

F>Помогите если кто знает. Я ввожу строку с текстом через scanf("%s",s) например, там несколько слов, как мне отделить каждое слово и записать его отдельно, чето фишка через символ пробела не пашет, пробую так: s[i]=='\32' или s[i]==32 не пашет помогите кто знает.


char s1[10],s2[10],s3[10];
scanf("%s %s %s",s1,s2,s3);


вводим:
слово1 слово2 слово3 слово4

получаем
s1 = "слово1" s2 = "слово2" s3 = "слово3"
Re[2]: Проблемы с Текстом
От: Кодт Россия  
Дата: 23.05.04 09:57
Оценка:
Здравствуйте, <Аноним>, Вы писали:

F>>Помогите если кто знает. Я ввожу строку с текстом через scanf("%s",s) например, там несколько слов, как мне отделить каждое слово и записать его отдельно, чето фишка через символ пробела не пашет, пробую так: s[i]=='\32' или s[i]==32 не пашет помогите кто знает.


Кстати, '\32' == char(032) == char(26).
... << RSDN@Home 1.1.2 stable >>
Перекуём баги на фичи!
Re: Проблемы с Текстом
От: Saddam Россия http://saddam.narod.ru
Дата: 23.05.04 10:40
Оценка:
Здравствуйте, Flagman, Вы писали:

F>Помогите если кто знает. Я ввожу строку с текстом через scanf("%s",s) например, там несколько слов, как мне отделить каждое слово и записать его отдельно, чето фишка через символ пробела не пашет, пробую так: s[i]=='\32' или s[i]==32 не пашет помогите кто знает.

Насколько я понимаю:
s — String, up to first white-space character (space, tab or newline).
То есть у тебя при передаче нескольких параметров: "%s %s %s" — получится разбиение автоматом.
- Вы знаете — жаль, просто по-человечески жаль Памелу Андерсон, которая никогда не сможет сыграть на баяне...
Re: Проблемы с Текстом
От: Dog  
Дата: 23.05.04 17:26
Оценка:
F>Помогите если кто знает. Я ввожу строку с текстом через scanf("%s",s) например, там несколько слов, как мне отделить каждое слово и записать его отдельно, чето фишка через символ пробела не пашет, пробую так: s[i]=='\32' или s[i]==32 не пашет помогите кто знает.

boost::tokenizer
Re[2]: Проблемы с Текстом
От: Dog  
Дата: 23.05.04 17:37
Оценка:
F>>Помогите если кто знает. Я ввожу строку с текстом через scanf("%s",s) например, там несколько слов, как мне отделить каждое слово и записать его отдельно, чето фишка через символ пробела не пашет, пробую так: s[i]=='\32' или s[i]==32 не пашет помогите кто знает.
S>Насколько я понимаю:
S>s — String, up to first white-space character (space, tab or newline).
S>То есть у тебя при передаче нескольких параметров: "%s %s %s" — получится разбиение автоматом.

Скорее всего он не знает сколько слов введёт. Тогда можно так
char str[] = " abs  ssb  hsp ";
char sep[] = " "; // разделитель слов. (можно несколько)
char *tok;
    
tok = strtok(str, sep);
while(tok){
      cout << tok << endl;  
      tok = strtok(NULL, sep);
}
    
вывод:
abs
ssb
hsp
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.