私はこれで完全に途方に暮れています。これが機能しない理由がわかりません。NULL ターミネータを持つ単純な文字配列 - 出力時に終了しないことを除いて!
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>
これが正しく終了しない理由がわかりません。配列を長くしようとしましたが、毎回同じ結果が得られます。気がおかしくなりそうだ!
誰か見ますか?ありがとう。