Как записать данные в файл, взяв строку из пользовательского ввода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

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