Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 20
1

Как прочитать строку с пробелами из файла в одну переменную?

01.04.2017, 13:30. Показов 4226. Ответов 9
Метки нет (Все метки)

есть текстовый файл, в нем 3 строки как прочитать 1ую строку(она с пробелами) в 1ну переменную
пример:
asdfasdq asdq
4
1 2 3 4

считать только "asdfasdq asdq" но в 1ну переменную (или за 1раз)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2017, 13:30
Ответы с готовыми решениями:

Как прочитать в одну строку всю информацию из файла?
У меня есть файл,в котором информация расположена в столбик(с новой строки),как мне прочитать (и...

Как прочитать строку с клавиатуры с пробелами
как сделать так чтобы программа считывала с клавиатуры строку с пробелами в переменную name? ...

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

Прочитать строку с пробелами
#include <iostream> using namespace std; class cString { public: cString() { str ='\0';...

9
nd2
3422 / 2802 / 1252
Регистрация: 29.01.2016
Сообщений: 9,426
01.04.2017, 13:42 2
C++
1
2
3
4
5
6
7
8
9
10
11
 
     ifstream fin("file.txt");
     if (!fin)
     {
        cout << "Error!" << endl;
        cin.get();
        return 0;
     }
 
     string str;
     getline(fin, str);
1
69 / 69 / 35
Регистрация: 06.07.2016
Сообщений: 415
01.04.2017, 13:45 3
Цитата Сообщение от Nakl3 Посмотреть сообщение
в 1ну переменную
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fstream>
#include <cassert>
#include <iostream>
 
int main()
{
  std :: ifstream input_file("input.txt");
  assert(input_file.is_open());
  std :: string to_get_text;
 
  while(std :: getline(input_file, to_get_text))
    {
      std :: cout << to_get_text << std :: endl;
    }
 
  input_file.close();
}
Каждую итерацию цикла в переменной находится конкретная строка.
Первый раз - первая, второй - вторая. Внутри тела цикла делайте с ней что хотите.
1
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
01.04.2017, 16:16 4
Notoriously, assert используется для отладки http://www.cplusplus.com/reference/cassert/assert/
0
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 20
01.04.2017, 21:38  [ТС] 5
getline помог) спасибо)
0
69 / 69 / 35
Регистрация: 06.07.2016
Сообщений: 415
01.04.2017, 22:45 6
DevAlone,
Использовать его в release никто не мешает.
Только #define NDEBUG
А в небольших программках экономит и место и время на написание обработки неудачно открывшегося файла/другой всячины.
0
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
01.04.2017, 23:00 7
Notoriously, не нужно его использовать в release, он предназначен для отладки.
Цитата Сообщение от Notoriously Посмотреть сообщение
А в небольших программках экономит и место и время на написание обработки неудачно открывшегося файла/другой всячины.
Не стоит учить людей плохому, файл нужно проверять всегда, а не только во время отладки.
0
69 / 69 / 35
Регистрация: 06.07.2016
Сообщений: 415
01.04.2017, 23:06 8
Цитата Сообщение от DevAlone Посмотреть сообщение
не нужно
Вы опираетесь просто на "так принято"? (По ссылке ходил, слово "generally" как раз-таки означает "традицию").
Или же есть формальный запрет на его использование?
0
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
01.04.2017, 23:53 9
Цитата Сообщение от Notoriously Посмотреть сообщение
Вы опираетесь просто на "так принято"? (По ссылке ходил, слово "generally" как раз-таки означает "традицию").
Или же есть формальный запрет на его использование?
"Так принято" не просто так, этот макрос создавался именно для отладки, для релиза есть исключения. В Вашем примере ничего страшного не случится, но представьте, что вы написали код с использованием assert'ов, а тот кто использовал ваш код определил #define NDEBUG и код теперь работает не понятно как.
0
69 / 69 / 35
Регистрация: 06.07.2016
Сообщений: 415
02.04.2017, 00:11 10
Цитата Сообщение от DevAlone Посмотреть сообщение
а тот кто использовал ваш код определил #define NDEBUG
Не спорю. И знаю,что из себя макрос представляет.
Просто люблю его использовать. Как и _abort. Как минимум, сразу становится ясно, где неполадка в программе.
Но плох он еще и потому что это "стиль С". В ++ есть исключения. С ними и нужно играться.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2017, 00:11

Как прочитать первую строку из файла а остальной текст повторить несколько раз?
Я новичок в этом деле, прошу не осуждать. Помогите разобраться. Задание такое: Программа...

Как занести содержание текстового файла в одну строку?
Нужно занести содержание текстового файла в одну строку. Делаю так: CFile m_pFile;...

Как получить в переменную одну строку из файла?
Как мне в переменную прочитать одну строку из файла

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru