Я пытаюсь записать введенные пользователем строковые данные в файл с помощью C.
Я получаю вводимые пользователем данные через стандартный ввод, а затем записываю эту строку в файл. Я не использую функции stdio, такие как fopen() / fprintf() — вместо этого я использую системные вызовы Linux, такие как open() и write().
Что я хочу сделать
Принять строковый ввод от пользователя
Написать это строку в файл
Обработать случай, когда файл не существует (создать его)
Убедиться, что записано правильное количество байт
код
char Buffer[1024];
fd = open(name, O_WRONLY | О_APPEND);
Я пытаюсь записать введенные пользователем строковые данные в файл с помощью C. Я получаю вводимые пользователем данные через стандартный ввод, а затем записываю эту строку в файл. Я [b]не использую функции stdio, такие как fopen() / fprintf()[/b] — вместо этого я использую [b]системные вызовы Linux[/b], такие как open() и write(). Что я хочу сделать [list] [*]Принять строковый ввод от пользователя
[*]Написать это строку в файл
[*]Обработать случай, когда файл не существует (создать его)
[*]Убедиться, что записано правильное количество байт код char Buffer[1024]; fd = open(name, O_WRONLY | О_APPEND); [code]iRet = write(fd, Buffer, sizeof(Buffer));
printf("%d Bytes gets successfully written in file\n", iRet); [/code]
[/list] Проблема Файл записывается, но: [list] [*]В файле появляются лишние мусорные символы или