Sscanf пропустить пробел в начале - PullRequest
5 голосов
/ 20 октября 2010

Я хочу прочитать строку и разобрать ее с помощью sscanf.Хотя я не хочу читать в начале пробелы.

Пример строки.

@a Bear Tiger

sscanf(strLine, "@%1s %64s %64s", dir, name1, name2);

У меня есть.

Проблема в том, что строка входиткак говорят

        @a Bear Tiger

Должно быть:

@a Bear Tiger

, которое он захочет прочитать в пробелах до символа @.Как я могу пропустить пробел и прочитать из символа @.

Спасибо.

1 Ответ

12 голосов
/ 20 октября 2010
sscanf(strLine, " @%1s %64s %64s", dir, name1, name2);

Это необходимо, потому что scanf пропускает только пробелы для (большинства) спецификаций преобразования. Но @ - это «обычный символ», а не спецификация преобразования, поэтому пропуска нет. Однако добавление пробела в строку формата приводит к пропуску входного пробела.

...