powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как читать текстовый файл?
8 сообщений из 8, страница 1 из 1
Как читать текстовый файл?
    #32381087
Dr. Yes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простите за ламерский вопрос, но у меня вот какя проблема:
есть текстовый файл input.txt, в котором несколько строк. Надо этот файл читать по строкам и каждую строку обрабатывать. Строку надо считывать в переменную, напимер, a. (char *a или char a[255]). Функцию для обработки сторочки a я уже сделал и она прекрасно работает, когда я эту строчку сам задаю. проблема в том, что строки разной длины могут быть, а все функции, которые я знаю, они требуют количество символов, которое надо считать.

Короче говоря, вопрос такой: как текстовый файл читать по строкам?
...
Рейтинг: 0 / 0
Как читать текстовый файл?
    #32381128
Shkurenko Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использовать:
std::basic_string

ручками искать конец строки и динамически выделять под нее память
...
Рейтинг: 0 / 0
Как читать текстовый файл?
    #32381198
Один из множества вариантов:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#include <stdio.h>
FILE   *In;
char    a[побольше];
In = fopen(имя_файла,  "r" );
if (In != NULL) {
        while (!feof(In)) {
               fgets(а, sizeof(a)- 1 , In);
               .....
        } // while
        fclose(In);
} // if
...
Рейтинг: 0 / 0
Как читать текстовый файл?
    #32381262
zssd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ifstream::getline()
...
Рейтинг: 0 / 0
Как читать текстовый файл?
    #32381272
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dr. Yes

Если вы пишите на C++ - то это делается так
Код: plaintext
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.
#include <string>
#include <fstream>
#include <iostream>
#include <algorithm>

using namespace std;

void string_function(string file_string);

void _tmain(void)
{
	ifstream my_file;

	my_file.open( "file.txt" );

	while (!my_file.eof())
	{
		string str;
		getline(my_file,str);
		string_function(str);
	}

}

void string_function(string file_string)
{
	static int line_no =  0 ;
	cout << ++line_no <<  ": "  << file_string << endl;
}


Ну а если нужен C - то так как предложил Cлучайный прохожий
...
Рейтинг: 0 / 0
Как читать текстовый файл?
    #32381301
Dr. Yes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Вам всем огромное. Вы мне ОЧЕНЬ помогли.
...
Рейтинг: 0 / 0
Как читать текстовый файл?
    #32381933
Shkurenko Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 funikovyuri
а не накладно ли передавать строку по значению, то же самое и объявление в теле цикла, да и ещё в стандарте функция main имеет всего две сигнатуры
int main()
int main(int argc, char* argv[])
а так в принципе ничего.
...
Рейтинг: 0 / 0
Как читать текстовый файл?
    #32381970
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shkurenko Alexander

Дорогой Александр - у нас что конкурс?

Так лучше
Код: plaintext
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.
31.
#include <string>
#include <fstream>
#include <iostream>
#include <algorithm>

using namespace std;

void string_function(const string &file_string);

// tmain - это результат работы console app wizard в VC7
// там было int _tmain(int argc, _TCHAR* argv[]) - т.е. unicode-версия argv
void main(void)
{
	ifstream my_file;

	my_file.open( "file.txt" );

	string str;                 //хотя  95 % что мой VC7 об этом сам позаботился ;)
	while (!my_file.eof())
	{
		getline(my_file,str);
		string_function(str);
	}

}

void string_function(const string &file_string)
{
	static int line_no =  0 ;
	cout << ++line_no <<  ": "  << file_string << endl;
}
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как читать текстовый файл?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]