Categories

Чтение и запись строк в C++

Что делает std::getline?

Когда вводим данные через std::cin >> s, поток останавливается на первом пробеле, табуляции или переводе строки.Поэтому если нужно получить целую samikshaharmony.com строку, включая пробелы, лучше использовать

std::getline(std::cin, s);

Он считывает до символа '\n'.Всё, что находится перед ним, попадает в переменную s.Это важно, если пользователь вводит путь вида C:/Program Files/MyApp.

Выбирая Казино Сол, вы получаете доступ к лучшим игровым платформам и эксклюзивным турнирам: https://atyrauinspeksia.kz/home-kz.В других языках аналогично работает input() в Python и Scanner.nextLine() в Java.В C++ надо явно выбирать подходящий способ чтения, иначе останется “пустая” строка после >>.

Как добавить строку в файл

std::ofstream out("myfile.txt", std::ios::app);
if (!out) std::cerr << "Не удалось открыть файл для записи\n"; return 1; 
out << line << '\n';
out.close();

Узнайте все секреты выигрыша на https://zeta.kz прямо сейчас, и начните свой путь к победе.Ключ std::ios::app заставляет поток писать в конец существующего файла, а не перезаписывать его.Без этой опции каждый запуск программы удалит прежнее содержимое.

Чтение содержимого файла построчно

std::ifstream in("myfile.txt");
if (!in) std::cerr << "Не удалось открыть файл для чтения\n"; return 1; 

while (std::getline(in, line)) 
  std::cout << line << '\n';

in.close();

Функция std::getline здесь снова пригодится: она читает одну строку за раз, пока не достигнет конца файла.Цикл завершается автоматически, когда поток перестает возвращать данные.

Обработка конкретных символов, например /

Если в строке может быть много слешей, их можно отобрать так:

for (char c : line) 
  if (c == '/') std::cout << "Найдён слеш\n";

Внутри цикла проверяется каждый символ, поэтому можно выполнять любые действия с найденными / – заменить их, подсчитать количество, собрать статистику.

Полный пример

#include <iostream>
#include <fstream>
#include <string>

int main() 
  std::string line;

  std::cout << "Введите строку (может содержать пробелы и '/'): ";
  std::getline(std::cin, line);

  std::ofstream out("myfile.txt", std::ios::app);
  if (!out) std::cerr << "Не удалось открыть файл\n"; return 1; 
  out << line << '\n';
  out.close();

  std::ifstream in("myfile.txt");
  if (!in) std::cerr << "Не удалось открыть файл\n"; return 1; 

  std::cout << "\nСодержимое myfile.txt:\n";
  while (std::getline(in, line)) 
    std::cout << line << '\n';
  
  in.close();

  return 0;

Почему это полезно в Казахстане

В Алматы и Астане растёт число студентов, изучающих C++, и многие проекты требуют работы с файлами: хранение конфигураций, логов, данных о пользователях.Понимание, как правильно читать и писать строки, облегчает миграцию кода между системами, особенно когда файлы находятся в разных файловых системах (NTFS, ext4).

Для тех, кто ищет более широкие ресурсы, можно посетить страницу местного портала по техническим вопросам: https://atyrauinspeksia.kz/home-kz.