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