Я предполагаю, что это относится ко многим другим языкам.Что происходит в двоичном IO в C?
У меня есть этот код здесь, и мне интересно, что на самом деле происходит, и как я могу интерпретировать то, что написано в файле ...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
//Initialize a variable and load it with input using scanf
char write[100] = "Write this.";
FILE *fp = fopen("./binFile.txt", "w+");
fwrite(write, sizeof(write[0]), sizeof(write)/sizeof(write[0]), fp);
fclose(fp);
}
, а затем, когда я открываю текстовый файл я вижу это ...
5772 6974 6520 7468 6973 2e00 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000
Но у меня есть некоторые проблемы с тем, что происходит здесь. Как этот текст разбивается на двоичный?
Вы открываете текстовый файл, используя программу, которая отображает шестнадцатеричные коды символов в файле. '57' означает' W', '72' означает' r' и т. Д. Если вы откроете файл в текстовом редакторе, вы должны увидеть 'Write this.', за которым следует, однако, что редактор отображает нулевые байты –
Серьезно? вы никогда не слышали об ASCII? – John3136
Ожидаете ли вы какой-либо выход? – BLUEPIXY