Как записать данные в файл, взяв строку из пользовательского вводаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как записать данные в файл, взяв строку из пользовательского ввода

Сообщение Anonymous »

Я пытаюсь записать введенные пользователем строковые данные в файл с помощью C.
Я получаю вводимые пользователем данные через стандартный ввод, а затем записываю эту строку в файл. Я не использую функции 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»