Ради изучения C и понимания разницы между двоичными файлами и текстовыми файлами я пытаюсь записать строку в файл как файлы обоих типов, например:
char * string = "I am a string!";
FILE * filePtrA = fopen("/output.txt", "wt");
fwrite(string, strlen(string), 1, filePtrA);
FILE * filePtrB = fopen("/output.bin", "wb");
fwrite(string, strlen(string), 1, filePtrB);
fclose(filePtrA);
fclose(filePtrB);
Однако оба "wt «
и « wb »
записываются как текстовый файл, где « wb »
должен записываться как двоичный файл. Hex выглядит так для обоих файлов:
49 20 61 6D 20 61 20 73 74 72 69 6E 67 21
Почему это происходит и как я могу записать что-то в виде двоичного файла?
Я читал, что ОС (Mac OS X 10.6 - GCC 4.2) может не различать двоичные файлы и текстовые файлы, хотя я до сих пор не понимаю, почему шестнадцатеричный редактор не обнаружит никакой разницы.