首页 > 解决方案 > Scanf解析字符串

问题描述

我正在尝试开发一种方法来解析每个元素用逗号分隔的文件。

我正在尝试找出一种scanf用于分隔元素的方法。我尝试使用scanf("%[^,]",buffer)但遇到堆栈粉碎错误。

也不要参考我尝试过的其他文章。请让我知道如何使用 myscanf作为分隔符。

我的输入如下:

+,-,*,/,%,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);
}

标签: cparsingscanfdelimiter

解决方案


我为任何为此苦苦挣扎的人想通了,用scanf("%[^,],",buffer)逗号分隔。


推荐阅读