Rayslava 08.12.2011 15:52 AHHE

Можно scanf заставить использовать как разделитель *только* табуляцию?
scanf("%s\t%s"... пробел тоже понимает, как \t

1. 0x2207 08.12.2011 16:27

вот это неправильно, что пробел понимает как \t. так быть не должно

2. Rayslava0x2207 /1 08.12.2011 16:27 AHHE

Ну на самом деле, в мануале написано, что
%[^\t]s
должно читать строчки с разделителем \t, однако не работает :-\

3. 0x2207Rayslava /2 08.12.2011 16:29 epsilon/psi

слушай. хочешь я тебе честно скажу

4. Rayslava0x2207 /3 08.12.2011 16:29 AHHE

Давай ):

5. 0x2207Rayslava /4 08.12.2011 16:30 epsilon/psi

я бы на твоем месте считал строку целиком, а потом её парсил на две подстроки.

я только не очень понял, у тебя в тегах c++, а хочешь ты чистый c.

6. Rayslava0x2207 /5 08.12.2011 16:33 AHHE

Хм. А в плюсах можно сделать лучше?

7. 0x2207Rayslava /6 08.12.2011 16:34 epsilon/psi

ну во-первых есть stringstream, где символ разделителя должен как-то устанавливаться (не помню как). получится в одну строчку sstm >> str1 >> str2;
во-вторых можно поискать через std::find положение разделителя (и кстати выяснить, если его нет) и потом скопировать две подстроки куда надо.

Do you really want to delete ?