Я новичок в C, поэтому немного запутался. Вот мой код:Почему я не могу прочитать данные из файла, где я написал текст. C
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <stdlib.h>
#define FILENAME "/var/note"
int main(int argc, char *argv[])
{
int userid = getuid();
int fd = open(FILENAME, O_WRONLY|O_CREAT|O_APPEND, S_IRUSR|S_IWUSR);
write(fd, &userid, 4);
}
В основном я пишу UID в текстовом файле. Но когда я пытаюсь открыть файл примечаний (с рукой), он дает мне ошибку, которая говорит:
Файл, который вы открыли, имеет некоторые недопустимые символы. Если вы продолжите редактирование этого файла, вы можете повредить этот документ. Вы также можете выбрать другую кодировку символов и повторите попытку.
Я не могу понять, почему он дает мне эту ошибку (когда я на самом деле написал текст в этом файле) и как ее решить. На мой взгляд, проблема заключается в кодировке символов, но я не знаю, какой из них использовать. Извините, если вопрос звучит глупо. Спасибо.
Вы пишете двоичное представление 'int', которое не является текстом. –
Не очень уверен, но, может быть, проблема с кодировкой? Вы пытались использовать 'fopen()'/'fprintf()'/'flose()' trio? –
ohh ... Теперь я получаю благодарность. Таким образом, файл будет содержать 4 байта в двоичном порядке? – Ojs