char *token = "some random string";
char c[80];
strncpy(c, token, sizeof c - 1);
c[79] = '\0';
char *broken = strtok(c, "#");
答案 0 :(得分:1)
以下代码中的代码不会崩溃:
#include <string.h>
main()
{
char *token = "some random string";
char c[80];
strcpy( c, token);
strncpy(c, token, sizeof c - 1);
c[79] = '\0';
char *broken = strtok(c, "#");
}
答案 1 :(得分:0)
此代码有效,您是否指定了正确的包含?
#include <string.h> /*
#include <stdio.h>
#include <stdlib.h>
int
main() {
/* ORIGINAL CODE */
char *token = "some random string";
char c[80];
strcpy( c, token);
strncpy(c, token, sizeof c - 1);
c[79] = '\0';
char *broken = strtok(c, "#");
/* ADDED THE FOLLOWING LINES */
printf("%s\n", broken);
exit(1);
}