Игнорирование запятых и точек с помощью fscanf () - PullRequest
2 голосов
/ 18 декабря 2011

Я пытаюсь читать строки без запятых и точек, используя fscanf ().

Пример ввода:

"Мистер и миссис Дурсли, номер четыре, Privet Drive, с гордостью говорили, что они были совершенно нормальными, большое спасибо."

Я хочу читать «Мистер», «Миссис» и «Дурсли» каждый раз, например,

Я пробовал несколько способов сделать это, используя необязательные аргументы, но мне не удалось. Как я могу игнорировать запятые и точки, используя fscanf ()?

1 Ответ

1 голос
/ 18 декабря 2011

Вы можете использовать функцию регулярного выражения sscanf , чтобы сделать это.

#include <stdio.h>


int main()
{
  char *str = "Mr. Fiddle Tim went to the mall. Mr. Kurdt was there. Mrs. Love was there also. "
    "They said hi and ate ice cream together." ;

  char res[800] = { 0 };
  sscanf( str, "%800[^.,]", res ) ;
  puts( str ) ;
}

Чтобы продолжить, вам нужно будет использовать возвращаемое значение sscanf (или fscanf) чтобы определить, сколько символов было найдено.Я оставляю это тебе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...