c - strtok() 崩溃
c - strtok() crashing
我遇到了 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时程序崩溃。字符串中的标记用 $ 分隔。怎么了?
错误是由于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;
}
我遇到了 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时程序崩溃。字符串中的标记用 $ 分隔。怎么了?
错误是由于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;
}