Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 02.03.2019
Сообщений: 49

Запись текста в файл с новой строки не работает

14.10.2021, 06:35. Показов 4473. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всех приветствую. Имеется код(не мой, но проблема одна и таже). В файл записывается текст в одну строчку и без пробелов, то есть <<endl не выполняет свою функцию. На сайте, где я взял этот код, был скрин корректной работы. Я же, полностью скопировав его, не получил аналогичного результата. "\n" тоже не работает. Есть идеи ?

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <QTextStream>
#include <QFile>
 
int main() {
    
  QTextStream out(stdout);
    
  // Создаем объект класса QFile и связываем его с указанным именем файла
  QString filename = "C:\\distros.txt";
  QFile file(filename);
  
  // Открываем файл в режиме "Только для записи"
  if (file.open(QIODevice::WriteOnly)) {
    QTextStream out(&file); // поток записываемых данных направляем в файл
 
    // Для записи данных в файл используем оператор <<
    out << "Xubuntu" << endl;
    out << "Arch" << endl;
    out << "Debian" << endl;
    out << "Redhat" << endl;
    out << "Slackware" << endl;
    
  } else {
      
    qWarning("Could not open file");
  }  
  
  // Закрываем файл
  file.close(); 
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2021, 06:35
Ответы с готовыми решениями:

Запись текста в RichTextBox с новой строки
Как сделать бы в RichTextBox текст писался с новой строки. К примеру. у меня загружается форма и RichTextBox1.Text = &quot;text&quot; и...

Файл: Сделать так, чтобы запись в файл была с новой строки?
Как в этом фрагменте кода сделать так чтобы запись в файл была с новой строки? try (FileWriter writer = new FileWriter(file, true))...

Запись в файл с новой строки
Как записывать в файл с новой строки ? Такой код оставляет пустую строку при каждом запуске программы. std::ofstream...

7
 Аватар для Ender Che
518 / 408 / 77
Регистрация: 29.05.2018
Сообщений: 1,339
14.10.2021, 07:43
А если так попробовать:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
  if (file.open(QIODevice::WriteOnly)) {
    QTextStream out(&file); // поток записываемых данных направляем в файл
 
    // Для записи данных в файл используем оператор <<
    QString xubuntu = "Xubuntu\n";
    ...
    out << xubuntu;
    ...
    
  }
0
фрилансер
 Аватар для Алексей1153
6462 / 5670 / 1131
Регистрация: 11.10.2019
Сообщений: 15,099
14.10.2021, 08:31
Цитата Сообщение от neophyte12345 Посмотреть сообщение
QTextStream
зачем это тут ? В файл можно писать напрямую. '\n' - должно работать
0
 Аватар для kapbepucm
1567 / 740 / 321
Регистрация: 02.05.2020
Сообщений: 1,659
14.10.2021, 08:40
Лучший ответ Сообщение было отмечено neophyte12345 как решение

Решение

neophyte12345, а если заменить
file.open(QIODevice::WriteOnly)
на
file.open(QIODevice::WriteOnly | QIODevice::Text)


Цитата Сообщение от neophyte12345 Посмотреть сообщение
"C:\\distros.txt"
Ender Che, Алексей1153, а почему \n а не \r\n?
1
фрилансер
 Аватар для Алексей1153
6462 / 5670 / 1131
Регистрация: 11.10.2019
Сообщений: 15,099
14.10.2021, 08:46
kapbepucm, если честно, уже давно не вникал, но вроде \r\n - это на старых виндах (до семёрки?) требовалось. А все более новые винды (и другие ОС) понимают \n , даже блокнот нормально отображает, не говоря уж об IDE всяких )

В общем, я не использую \r\n уже давно, вроде проблем не наблюдалось
1
 Аватар для Ender Che
518 / 408 / 77
Регистрация: 29.05.2018
Сообщений: 1,339
14.10.2021, 09:18
kapbepucm, да, Алексей1153 правильно пишет, я как начал программировать (на семёрке), только \n и использую.
0
0 / 0 / 0
Регистрация: 02.03.2019
Сообщений: 49
14.10.2021, 18:30  [ТС]
kapbepucm, \r\n Зарешало, брат. Спасибо

P.S. Windows 7, Qt 5.13
0
 Аватар для Annemesski
2674 / 1336 / 480
Регистрация: 08.11.2016
Сообщений: 3,692
15.10.2021, 07:19
мда... было у меня как-то... нужен был конвертор конфигов между двумя программами, обе юзали .csv но работали с разными кодировками, перевод из одной кодировки в другую был написан минут за 10, а вот еще минут 30 было потрачено из-за того что одна из програм была чувствительна к окончанию строки и требовала "\r\n" и никак иначе, тогда как вторая программа глотала и '\r' и '\n' и "\r\n" и "\n\r".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.10.2021, 07:19
Помогаю со студенческими работами здесь

Запись в файл с новой строки
Не получается почему-то записать данные в файл с новой строки. Почему так не работает? void loadToFile(String nameFile){ try...

Запись в файл с новой строки
Перерыла кучу информации, но пока не могу найти походящий совет. Есть текст бокс, в который пользователь вводит строку, таким образом...

Запись в текстовый файл с новой строки
Добрый день подскажите как сделать чтоб каждая новая запись в файл начиналась с новой строки те написал текст нажал кнопку добавит текст и...

Запись предложений с новой строки в файл
Добрый вечер. Не удается решить следующую задачу: &quot;Есть файл со словами и есть файл с предложениями. Создать новый файл в котором...

Как начать запись в файл с новой строки?
как начать запись в файл с новой строки?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru