ifstream infile("s.txt");
infile.open("s.txt");
char buffer[256];
*buffer = 0;
int count=0;
while(!infile.eof())
{
infile.getline(buffer, sizeof(buffer));
if(*buffer)
{
count++;
}
else
{
cout<<"file not found!"<<endl;
break;
}
}
Использование файла созданного предыдущей функцией
Но файл создаётся только после выхода из main(). Т.е. вторая функция остаётся без работы.
Как так получается?
Перед вызовом функ2, закрыть файл и открыть для чтения.
Перед окончанием своей работы первая функция закрывает файл (outfile.close()).
Перед окончанием своей работы первая функция закрывает файл (outfile.close()).[/QUOTE]Может тогда flush() поможет? Хотя все равно странно.
Мerlin
Код:
if(!infile.is_open())
{
cout << "Файл не открыт" << endl;
return;
}
{
cout << "Файл не открыт" << endl;
return;
}
Код:
infile.open("s.txt");
Зачем?!
Код:
char buffer[256];
*buffer = 0;
.....
infile.getline(buffer, sizeof(buffer));
*buffer = 0;
.....
infile.getline(buffer, sizeof(buffer));
Зачем?!
Код:
if(*buffer)
{
count++;
}
else
{
cout<<"file not found!"<<endl;
break;
}
{
count++;
}
else
{
cout<<"file not found!"<<endl;
break;
}
Зачем?!
Сделай так:
Код:
ifstream infile("s.txt");
if( !infile.is_open() )
{
cerr << "ERROR: can't open file" << endl;
return err_code;
}
int count = 0;
while( !infile.eof() )
{
string str;
getline(infile, str);
count++;
}
if( !infile.is_open() )
{
cerr << "ERROR: can't open file" << endl;
return err_code;
}
int count = 0;
while( !infile.eof() )
{
string str;
getline(infile, str);
count++;
}