Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
#1

прочитать текстовой файл без заморочек - C++

26.08.2013, 16:07. Просмотров 368. Ответов 8
Метки нет (Все метки)

Люди!!
в билдере для чтения текстового файла делал так
C++
1
2
TStringList *List = new TStringList;
List->LoadFromFile(File_name);
потом к List обращался по строкам List[i]
есть ли для обычного с++ что-то подобное, чтоб можно было делать также и не заморачиваться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2013, 16:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос прочитать текстовой файл без заморочек (C++):

возможно ли прочитать текстовый файл сначала еще раз без закрытия? - C++
Добрый день!!! Подскажите пожалуйста, возможно ли прочитать текстовый файл еще раз сначала? Или чтобы начать чтение снова, надо его закрыть...

Из текстового файла прочитать четные числа и записать их в другой файл без использования массива (код С++) - C++
Код есть только перед чтением файла нужно его создать, внести 15 чисел и закрыть, через ofstream. #include <iostream> #include...

Прочитать файл в обратном порядке т.е. встать в конец файла и прочитать до начальной позиции - C++
подскажите пожалуйста как можно прочитать файл в обратном порядке т.е. стать в конец файла и прочитать до начальной позиции?

Файл: Из текстового файла найти max и min элемент и записать в другой текстовой файл, не используя массив - C++
Из текстового файла найти max и min элемент и записать в другой текстовой файл, не используя массив

Запись в текстовой файл - C++
Здравствуйте. Есть текстовой файл вида: 111 222 333 ... ... ... 321 123 213 Нужно обратиться к некоторому значению в первом...

Открыть файл, прочитать. Все, что находится после двоеточия перенести в другой файл - C++
Работа с текстовыми файлами Друзья, подскажите, имеется файлик *.txt в нем в строчку набор символов (разной длины), часть символов...

8
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
26.08.2013, 16:18 #2
C++
1
2
while (std::getline(file, string))
   List.push_back(string);
1
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
26.08.2013, 16:42  [ТС] #3
спасиб)ну вот я пишу
C++
1
2
3
4
5
6
7
8
9
10
#include "reading_from_file.h"
#include <iostream>
//---------------------------------------------------------------
using namespace std;
long double **reading_from_file ( string File_name )
{
string s;
list<string> List;
while (getline(File_name, s))
   List.push_back(string);
мне ошибку лупит
no matching function for call to 'getline(std::string&, std::string&)
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
26.08.2013, 16:47 #4
soican, этот getline в string.h а не в istream

Добавлено через 3 минуты
Вот в чем проблема у тебя: туда не имя файла, а istream подавать.
0
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
26.08.2013, 16:50  [ТС] #5
понятно, но все равно ошибка, объясни вот в документации написано 1ый аргемент getline -istream& , ты писал мне
C++
1
2
while (std::getline(file, string))
   List.push_back(string);
что ты имел ввиду под file, я понял как название файла
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
26.08.2013, 16:51 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
#include <list>
#include <string>
 
using namespace std;
 
int main()
{
    ifstream file("input_file.txt");
    list<string> list;
    string temp;
    while (getline(file, temp))
        list.push_back(temp);
 
    for (auto& it : list)
        cout << it << endl;
    return 0;
}
Добавлено через 39 секунд
soican, file - это файл, filename - это уж имя файла. Смотри код выше.
1
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
26.08.2013, 17:09  [ТС] #7
а... ты написал уже

Добавлено через 17 минут
а у этого List операторы [] не перегружены что ли ?
C++
1
2
3
string S1,S2;
for (auto j: List)
 {  S2 = List[j];
//ошибка[/CPP]
т.е. не присваивает!
хотя объявлял List как vector<string> - всё равно не присваивает!
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
26.08.2013, 17:27 #8
soican, Воу, воу палехче.
List - список, реализована структура данных, которая позволяет получить доступ: от текущего элемента - к следующему, от текущего - к предыдущему.
Vector - это динамический массив. Вот он позволяет делать то, что ты хочешь.

C++
1
2
3
string S1,S2;
for (auto j: List)
 {  S2 = List[j];
В j уже будет храниться List[j], т.к. это проход по всему листу последовательно. Если нужен индекс элемента в веткоре - for (int j = 0; j<myVector.size(); ++j)
1
gray_fox
26.08.2013, 17:45     прочитать текстовой файл без заморочек
  #9

Не по теме:

Цитата Сообщение от soican Посмотреть сообщение
List->LoadFromFile
LoadXMLFromTCPInputStream бы ещё

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2013, 17:45
Привет! Вот еще темы с ответами:

Создание меню и сохранение в текстовой файл - C++
Добрый вечер!

Создание меню и сохранение в текстовой файл - C++
Добрый вечер! Задали задачу, аналогичную прошлой теме Задание: Создать абстрактный класс CVehicle. На его основе реализовать классы...

Вывод отсортированного массива,в текстовой файл - C++
В общем,написан код сортировки по убыванию в столбце,запускаю прогу,он правильно сортирует но в текстовой файл не записывает cout...

добавить стрим в текстовой бинарный файл - C++
ê ïðèåðó åñòü òàêîé êîä, ìû çàãðóçèëè bmp ôàéë â ïåðåìåííóþ pic Graphics::TBitmap *pic = new Graphics::TBitmap(); ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru