나는 이것으로 완전히 손실되었다. 왜 이것이 작동하지 않는지 나는 알 수 없다. 널 터미네이터가있는 간단한 문자 배열 - 출력 할 때 종료되지 않는다! 이 올바르게 종료되지 않는 이유fprintf 문자열 종료에 대한 정신 차단
> 16
> 16
>/.goutputstream\B7<random memory stuff>
내가 알아낼 수 없습니다 :
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...
}
이
내 출력됩니다. 나는 배열을 더 길게 만들려고했지만 매번 같은 결과를 얻는다. 나는 내 마음을 잃어 가고있다!누구나 볼 수 있습니까? 감사.
** f ** printf? 파일 포인터를 전달하지 않습니다. – Kevin
'NULL'은 널 포인터 * 상수로 확장되는 매크로입니다. 아마도 "NUL 터미네이터"또는 더 나은 아직 "' '\ 0"터미네이터 "를 의미 할 것입니다. –
네 말이 맞아, 케빈. 나는 단지 printf를 의미했다. 좋은 캐치. – Alex