Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2010, 17:46   #1
htzg
Новичок
Джуниор
 
Регистрация: 17.04.2010
Сообщений: 1
По умолчанию Чтение данных из файла содержащего комментарии. С++

Здравствуйте!
Есть файл содержащий слова.
Так же в этом файле есть комментарии идущие после "--"

пример:

word1 word2 word3 -- comment
--comment
--------------------
word4 word5--comment

Пытаюсь создать функцию которая мне выдавала бы эти слова по-одному, т.е:
void GetWordFromFile(std::ifstream File, std::string WordFromFile, std::string RemarkSymbol)

В итоге все мои старания свелись к следующему:
Код:
#include <string>
#include <sstream>
#include <fstream>
#include <iostream>

void GetWordFromFile(std::ifstream ifile, std::string Temp, std::string RemSymbol)
{
	std::string Line;
	static std::istringstream istrLine;
	bool stop=0;
	istrLine >> Temp;
	if(istrLine.eof())
		if(ifile.is_open())
			while(!stop && !ifile.eof())
			{
				//
				getline(ifile, Line);
				int RemPos = Line.find(RemSymbol);
				if(RemPos > -1)
					Line = Line.substr(0,RemPos);
				istrLine.str(Line);
				istrLine >> Temp;
				//
				if(!istrLine.eof())
					stop=1;
			}
}

// проверяю что получается...
int _tmain(int argc, _TCHAR* argv[])
{
	std::ifstream ifile;
	ifile.open("txt.txt");
	std::string temp;
	std::string RemSymbol("--");
	if(!ifile.fail())
	while(!ifile.eof())
		{
			GetGrdeclString(ifile, temp, RemSymbol);
			std::cout << temp << std::endl;
		}
	system("pouse");
	return 0;
}
Компилятор выдает одну ошибку :
1>c:\program files\microsoft visual studio 8\vc\include\fstream(675) : error C2248: 'std::basic_ios<_Elem,_Traits>::bas ic_ios' : cannot access private member declared in class 'std::basic_ios<_Elem,_Traits>'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 8\vc\include\ios(151) : see declaration of 'std::basic_ios<_Elem,_Traits>::bas ic_ios'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> This diagnostic occurred in the compiler generated function 'std::basic_ifstream<_Elem,_Traits> ::basic_ifstream(const std::basic_ifstream<_Elem,_Traits> &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]

После некоторого времени раздумья решил просить помощи.
Кто что думает по этому поводу?
Может есть другие варианты реализации? Какие?

П.с.: программированию (не считая школьный и университетский-ознакомительный курсы) учился сам, по самоучителю. Если в есть какие то принципиальные ошибки и/или недочеты, большая просьба - указать мне на них.
Спасибо!

Последний раз редактировалось htzg; 17.04.2010 в 19:09. Причина: опечатка
htzg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение данных из файла (Delphi 7) alxd Помощь студентам 15 14.08.2009 13:21
Вывод текста содержащего формулы и таблицы street-walker Общие вопросы Delphi 7 30.04.2009 08:06
Чтение данных из файла в С++ Zaya007 Помощь студентам 9 17.03.2009 21:00
Чтение данных из файла Excel в C++Builder Max2114 C++ Builder 6 15.01.2009 11:32