【发布时间】:2016-10-14 02:54:29
【问题描述】:
我正在尝试从由空格(“”)分隔的字符串中获取标记。但是当字符串是 char * 类型时,下面的代码会使应用程序崩溃。
#include <stdio.h>
#include <string.h>
int main(){
char *str1 = "Hello World!"; //char str1[] works
char *token;
char *savePtr;
token = strtok_s(str1, " ", &savePtr);
printf("%s", token);
return 0;
}
我还收到以下警告:
C:\Users\Haris\Desktop\C files>gcc firstProgram.c -o firstprogram.exe
firstProgram.c: In function 'main':
firstProgram.c:10:9: warning: implicit declaration of function 'strtok_s' [-Wimplicit-function-declaration]
token = strtok_s(str1, " ", &savePtr);
^
firstProgram.c:10:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
token = strtok_s(str1, " ", &savePtr);
【问题讨论】:
标签: c arrays string pointers strtok