C语言scanf指定字符串分隔符
1. 示例代码
#include<stdio.h>
int main(int argc, char** argv){
char str[3][20];
puts("input a string seprator with \",\"\r\n");
scanf("%[^,],%[^,],%s",str[0],str[1],str[2]);
puts(str[0]);
puts(str[1]);
puts(str[2]);
return 0;
}
2. 测试结果:
3. 说明
-
[^...] 的解释为: matches the longest non-empty string of input characters not from the setbetween brackets(摘自《The C Programming Language》第二版P204)。例如[^,]代表不包含','的最长匹配串。
-
而%s 的解释为:string of non-white space characters,即不包含空格,tab的最长匹配串