Scanf разбирает строку - PullRequest
       24

Scanf разбирает строку

0 голосов
/ 06 октября 2018

Я пытаюсь разработать метод, который анализирует файл, где каждый элемент разделяется запятой.

Я пытаюсь найти способ использовать scanf для разграничения элементов.Я попытался использовать scanf("%[^,]",buffer), но получил ошибку разрушения стека.

Также не отсылайте меня к другим статьям, которые я пробовал.Пожалуйста, дайте мне знать, как я могу использовать мой scanf в качестве разделителя.

Мой ввод выглядит следующим образом:

+,-,*,/,%,abcdefghijklmnopqrstuvwxyz,0123456789,(,),;,=, \t\n

Ниже приведен код

       char buffer[MAX_LINE_LENGTH];
for (int i = 0; i < returnTable->numberOfClasses-1; i++) {
    scanf("%s ",buffer);
    buffer[strlen(buffer)] = '\0';
    returnTable->inputSymbolClasses[i] = malloc((sizeof(char) * (strlen(buffer) )+ 1));
    strcpy(returnTable->inputSymbolClasses[i],buffer);
}

1 Ответ

0 голосов
/ 06 октября 2018

Я понял это для всех, кто борется с этим, используйте scanf("%[^,],",buffer), чтобы разделить запятыми.

...