gpt4 book ai didi

c - strtok 在调用函数中不起作用

转载 作者:行者123 更新时间:2023-11-30 19:58:50 25 4
gpt4 key购买 nike

strtok()正在崩溃。它在 main() 中起作用,但在 call 函数中不起作用。请建议我。谢谢。

int checkNumberOfTokens (char* text, char* delimitChar) {

int numberOfTokens = 0;
char *t;
int i;

printf("Text: %s\n", text);
printf("delimitChar: %s\n", delimitChar);

t = strtok(text, delimitChar);

for (i=0; t != NULL; i++) {
printf("token %d is \"%s\"\n", i, t);
t = strtok(NULL, delimitChar);
}

numberOfTokens = i;
printf("Total number of tokens: %d\n", numberOfTokens);

return numberOfTokens;
}




int main()

char* transitionTable[] = {
"NA, NA, NA, NA, NA, NA",
"defaultStart, elseOther, 1, 2, 6, NA",

};

printf("%s \n", transitionTable[1]);

char delimitChar[] = ",";

checkNumberOfTokens (transitionTable[1], delimitChar);

最佳答案

strtok 输入字符串必须可写,因为 strtok 会修改输入字符串。但是您传递的是字符串文字,并且字符串文字是不可修改的。

请参阅有关字符串文字的 c-faq:

http://c-faq.com/decl/strlitinit.html

关于c - strtok 在调用函数中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20011295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com