Помогите если кто знает. Я ввожу строку с текстом через scanf("%s",s) например, там несколько слов, как мне отделить каждое слово и записать его отдельно, чето фишка через символ пробела не пашет, пробую так: s[i]=='\32' или s[i]==32 не пашет
помогите кто знает.
Здравствуйте, 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"
Здравствуйте, <Аноним>, Вы писали:
F>>Помогите если кто знает. Я ввожу строку с текстом через scanf("%s",s) например, там несколько слов, как мне отделить каждое слово и записать его отдельно, чето фишка через символ пробела не пашет, пробую так: s[i]=='\32' или s[i]==32 не пашет помогите кто знает.
Кстати, '\32' == char(032) == char(26).
... << RSDN@Home 1.1.2 stable >>
Здравствуйте, 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" — получится разбиение автоматом.
- Вы знаете — жаль, просто по-человечески жаль Памелу Андерсон, которая никогда не сможет сыграть на баяне...
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