HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3211  
Старый 22.06.2009, 02:34
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

мда. file.seekg(0, ios_base::beg); работает только при чтении файла, открытого с можификатором binary. чтото как то потоки ввода ацки кривые и я не вижу адекватного способа сбросить указатель чтения на начало файла. попробуй закрыть открыть. или просто юзай другой способ чтения

через жопу но работает.
Код:
void cycle_input(ifstream& file, string& filename)
{
	if(!file.eof())
		return;

	file.close();
	file.clear();

	file.open(filename.c_str(), ios::in);

}

void main()
{

	string fin_filename = "1.txt";
	string fim_filename = "2.txt";
	string fib_filename = "3.txt";

	ifstream fin(fin_filename.c_str() ); 
	ifstream fim( fim_filename.c_str() ); 
	ifstream fib( fib_filename.c_str() ); 

	string mlstr; 
	string mainstr; 
	string str_name; 

	do 
	{ 
		getline( fib, str_name ); 

		cycle_input(fin, fin_filename);
		getline( fin, mainstr ); 

		cycle_input(fim, fim_filename);
		getline( fim, mlstr ); 
	} 
	while(!fib.eof());

	system("pause");
}

Последний раз редактировалось Ra$cal; 22.06.2009 в 02:39..
 
Ответить с цитированием

  #3212  
Старый 22.06.2009, 18:45
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
С нами: 9017461

Репутация: 414


По умолчанию

Цитата:
Такой вопрос:
Существует ли в языке С++ команда которая полностью очищает содержимое файла
не удаляя сам файл ?
Нет, по крайней мере в стандартной библиотеке.
 
Ответить с цитированием

  #3213  
Старый 22.06.2009, 19:47
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами: 10216668

Репутация: 930


По умолчанию

WinMain(), вопрос был: есть ли такая функция в стандарте языка.
 
Ответить с цитированием

  #3214  
Старый 23.06.2009, 07:31
Useroff
Участник форума
Регистрация: 23.08.2008
Сообщений: 143
С нами: 9324443

Репутация: 52
По умолчанию

Короче, проблемма вот в чем.
Есть цикл for(;, в нем находится вся программа, так же есть переменная live.
Если она ровняется 1, то выполняется одно действие, если 2, то другое, если 3, то
break;

А если ввести другие знаки, кроме цифр, то получится так, что for(; будет работать безконечно.

Подскажите, как профиксеть ?

Последний раз редактировалось Useroff; 23.06.2009 в 08:26..
 
Ответить с цитированием

  #3215  
Старый 23.06.2009, 07:47
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами: 10216668

Репутация: 930


По умолчанию

Напиши код. Я нифига не понял ^^
Возможно тебе поможет оператор case и использование default.
Откуда взялся while, если цикл for. Или цикл просто бесконечный.

Вообщем насколько я понял так:
Код:
while(1) {
    switch( ) {

     case 0: 
   
     case 1:

     ...
     
     case N:

     default:

}}
Любые действия со стороны юзера ты можешь контролировать. Или же ты можешь ввести обработку исключений.

Последний раз редактировалось Fata1ex; 23.06.2009 в 07:51..
 
Ответить с цитированием

  #3216  
Старый 23.06.2009, 08:25
Useroff
Участник форума
Регистрация: 23.08.2008
Сообщений: 143
С нами: 9324443

Репутация: 52
По умолчанию

Ладн, задам вопрос вот так:
Есть переменная live

Код:
for(;;) {
float live

cin  >> live;
if (live==1)
{
Код...
}
if (live==2)
{
Код...
}
if (live=3)
{
cout << "Bye !";
break;
}
}
Как сделать так, чтобы в переменную live, нельзя было записать ничего кроме цифр ?
 
Ответить с цитированием

  #3217  
Старый 23.06.2009, 08:33
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами: 10216668

Репутация: 930


По умолчанию

Ответ я, как ни странно, уже дал.
 
Ответить с цитированием

  #3218  
Старый 23.06.2009, 08:43
Useroff
Участник форума
Регистрация: 23.08.2008
Сообщений: 143
С нами: 9324443

Репутация: 52
По умолчанию

Цитата:
Ответ я, как ни странно, уже дал.
Сорри, стормазил я чет, совсем забыл про else.
Терь написал
Код:
else
break;
 
Ответить с цитированием

  #3219  
Старый 23.06.2009, 08:44
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами: 10216668

Репутация: 930


По умолчанию

Использование такого огромного количества условных операций не есть хорошо. Для таких случаев и придумали оператор множественного выбора. Используй его.
 
Ответить с цитированием

  #3220  
Старый 23.06.2009, 10:55
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами: 10216668

Репутация: 930


По умолчанию

Код:
exit(1);break;
оО
+ разве я не то же самое написал парой постов выше? ) Зачем писать одно и тоже?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.