我如何fscanf
这段数据?数据和分隔符之间没有空行是':'
VS1234567890654327:Rob Fordfirst:001:200
VS1234567890654312:Steven Harper:200:010
我的代码
while(3==fscanf(filename, "????", &string[size], &name[size], &number1[size], &number2[size])) {
//printf("%s - %s - %.3d - %.3d", string[size], name[size], number1[size], number2[size]));
size++;
}
答案 0 :(得分:6)
您可以将分隔符作为格式的一部分包含在fscanf
中,如下所示:
while (4 == fscanf(filename, "%[^:]:%[^:]:%d:%d", string[size], name[size], &number1[size], &number2[size])) {
...
}
请注意使用%[^:]
格式说明符。它说“除':'
之外的任何字符都被接受”。另请注意,char*
参数的传递没有符号,因为它们已经是指针。