sscanf直到它达到逗号

Fai*_*awi 5 c string scanf

我正在尝试扫描一个字符串中的单词和数字,如下所示:" 你好,世界,我,287876,6.0 "< - 这个字符串存储在一个char数组中(字符串)我需要做的是拆分和将它们分配给不同的变量就好了

     char a = "hello"
     char b = "world"
     char c = "I"
     unsigned long d = 287876
     float e = 6.0
Run Code Online (Sandbox Code Playgroud)

我知道常规scanf在到达空白区域时停止从stdin读取.所以我一直在想,有可能让sscanf在达到","(逗号)时停止阅读

我一直在探索图书馆,找到sscanf的格式,只读字母和数字.我找不到这样的东西,也许我应该再看一次.

有帮助吗?提前致谢 :)

MOH*_*MED 14

如果字符串中变量的顺序是固定的,我的意思是它总是:

string, string, string, int, float
Run Code Online (Sandbox Code Playgroud)

使用以下格式说明符sscanf():

int len = strlen(str);
char a[len];
char b[len];
char c[len];
unsigned long d;
float e;

sscanf(" %[^,] , %[^,] , %[^,] , %lu , %lf", a, b, c, &d, &e);
Run Code Online (Sandbox Code Playgroud)


K S*_*iel -2

请参阅文档strtok和/或strtok_r