char *extractSubstring(char *str)
{
char temp[256];
char *subString; // the "result"
printf("%s\n", str); //prints #include "hello.txt"
strcpy(temp, str); //copies string before tokenizing
subString = strtok(str,"\""); // find the first double quote
subString = strtok(NULL,"\""); // find the second double quote
printf("%s\n", subString); //prints hello.txt
strcpy(str, temp); //<---- the problem
printf("%s", subString); //prints hello.txt"
return subString;
}
我strcpy后,为什么要加引号?当我注释掉第二条 strcpy 行时,程序就可以工作了。printfs 将从我的程序中删除。我只是用它来展示我的程序发生了什么。
有人可以向我解释发生了什么吗?谢谢你。