我完全丧失了这一个。我无法弄清楚为什么这不起作用。具有NULL终止符的简单字符数组 - 除了当我输出它时,它不会终止!fprintf字符串终止的心理障碍
int file_create(const char *path) {
//trying to trap situations where the path starts with /.goutputstream
char path_left_15[16];
strncpy(path_left_15, path, 15);
printf("%d\n", strlen("/.goutputstream")+1);
path_left_15[strlen("/.goutputstream")+1] = '\0';
printf("%d\n", strlen(path_left_15));
printf("path_left_15: %s\n", path_left_15);
//continue on...
}
这是我的输出:
> 16
> 16
>/.goutputstream\B7<random memory stuff>
我想不通这是为什么不正确终止。我试着让这个数组变长,但我每次都得到相同的结果。我正在失去理智!
有人看到了吗?谢谢。
** f ** printf?你没有传递文件指针。 – Kevin 2013-04-20 00:25:10
'NULL'是一个扩展为空*指针*常量的宏。推测你的意思是“NUL终结者”,或者更好的是“终结者”。 – 2013-04-20 00:48:54
你说得对,凯文。我的意思就是printf。接得好。 – Alex 2013-04-20 03:39:28