ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

22.06.2009, 02:34
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
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..
|
|
|

22.06.2009, 18:45
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Такой вопрос:
Существует ли в языке С++ команда которая полностью очищает содержимое файла
не удаляя сам файл ?
Нет, по крайней мере в стандартной библиотеке.
|
|
|

22.06.2009, 19:47
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
WinMain(), вопрос был: есть ли такая функция в стандарте языка.
|
|
|

23.06.2009, 07:31
|
|
Участник форума
Регистрация: 23.08.2008
Сообщений: 143
Провел на форуме: 1149516
Репутация:
52
|
|
Короче, проблемма вот в чем.
Есть цикл for(;  , в нем находится вся программа, так же есть переменная live.
Если она ровняется 1, то выполняется одно действие, если 2, то другое, если 3, то
break;
А если ввести другие знаки, кроме цифр, то получится так, что for(;  будет работать безконечно.
Подскажите, как профиксеть ?
Последний раз редактировалось Useroff; 23.06.2009 в 08:26..
|
|
|

23.06.2009, 07:47
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Напиши код. Я нифига не понял ^^
Возможно тебе поможет оператор case и использование default.
Откуда взялся while, если цикл for. Или цикл просто бесконечный.
Вообщем насколько я понял так:
Код:
while(1) {
switch( ) {
case 0:
case 1:
...
case N:
default:
}}
Любые действия со стороны юзера ты можешь контролировать. Или же ты можешь ввести обработку исключений.
Последний раз редактировалось Fata1ex; 23.06.2009 в 07:51..
|
|
|

23.06.2009, 08:25
|
|
Участник форума
Регистрация: 23.08.2008
Сообщений: 143
Провел на форуме: 1149516
Репутация:
52
|
|
Ладн, задам вопрос вот так:
Есть переменная live
Код:
for(;;) {
float live
cin >> live;
if (live==1)
{
Код...
}
if (live==2)
{
Код...
}
if (live=3)
{
cout << "Bye !";
break;
}
}
Как сделать так, чтобы в переменную live, нельзя было записать ничего кроме цифр ?
|
|
|

23.06.2009, 08:33
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Ответ я, как ни странно, уже дал.
|
|
|

23.06.2009, 08:43
|
|
Участник форума
Регистрация: 23.08.2008
Сообщений: 143
Провел на форуме: 1149516
Репутация:
52
|
|
Ответ я, как ни странно, уже дал.
Сорри, стормазил я чет, совсем забыл про else.
Терь написал
|
|
|

23.06.2009, 08:44
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Использование такого огромного количества условных операций не есть хорошо. Для таких случаев и придумали оператор множественного выбора. Используй его.
|
|
|

23.06.2009, 10:55
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
оО
+ разве я не то же самое написал парой постов выше? ) Зачем писать одно и тоже?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|