我用strtok解决了这个问题:
void getFile(FILE *fp, TParts *str)
{
char a[60], *b;
int p = 0, m = 0;
while(fgets(a, 60, fp) != NULL)
{
b = strtok(a, '$');
...
调用strtok时程序崩溃。字符串中的标记用$分隔。怎么了?
答案 0 :(得分:1)
故障归结为strtok
的第二个参数必须是一个字符串。这是一个工作示例代码:
#include <stdio.h>
#include <string.h>
int main()
{
char a[60] = "fadf$safgs$afd$", *b;
b = strtok(a, "$");
while( b != NULL ) {
printf( " %s\n", b );
b = strtok(NULL, "$");
}
return 0;
}