一个字符串中有四个下划线,使用sscanf截取前两个下划线的字符串
时间: 2024-05-28 12:15:17 浏览: 194
截取字符串
好的,我会为您解答。针对您的问题,我们可以使用sscanf和占位符%[^_]来实现。具体代码如下:
char str[] = "hello_world_this_is_an_example";
char result[20];
sscanf(str, "%[^_]_%[^_]", result, result+strlen(result)+1);
printf("%s\n%s\n", result, result+strlen(result)+1);
结果输出为:
hello
world
解释一下,%[^_]表示匹配除下划线之外的任何字符,%[^_]_表示匹配第一个下划线前面的字符,并跳过下划线,%[^_]表示匹配第二个下划线前面的字符。因此,result中存储的是第一个下划线前面的字符串,result+strlen(result)+1中存储的是第二个下划线前面的字符串。
阅读全文