用fstream读文件中遇到的有关问题
用fstream读文件中遇到的问题
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
const int SIZE = 60;
int main()
{
char filename[SIZE];
ifstream inFile;
cout << "Enter name of data file:";
cin.getline(filename,SIZE);
inFile.open(filename);
if (!inFile.is_open())
{
cout << "error";
exit(EXIT_FAILURE);
}
double value;
double sum = 0.0;
int count = 0;
inFile >> value;
/*while (inFile.good())
{++count;
sum += value;
inFile >> value}*/
if (inFile.eof())
{
cout << "it is eof" << endl;
}
else if (inFile.fail())
{
cout << "fail" << endl;
}
else cout << "unknow" << endl;
if (count == 0)
{
cout << "no data" << endl;
}
else
{
cout << count << endl << sum << endl << sum / count << endl;
}
}
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
const int SIZE = 60;
int main()
{
char filename[SIZE];
ifstream inFile;
cout << "Enter name of data file:";
cin.getline(filename,SIZE);
inFile.open(filename);
if (!inFile.is_open())
{
cout << "error";
exit(EXIT_FAILURE);
}
double value;
double sum = 0.0;
int count = 0;
inFile >> value;
/*while (inFile.good())
{++count;
sum += value;
inFile >> value}*/
if (inFile.eof())
{
cout << "it is eof" << endl;
}
else if (inFile.fail())
{
cout << "fail" << endl;
}
else cout << "unknow" << endl;
if (count == 0)
{
cout << "no data" << endl;
}
else
{
cout << count << endl << sum << endl << sum / count << endl;
}
}
输入的是这样的
Enter name of data file:222.txt
unknow
no data
请按任意键继续. . .
222.txt放到了debug这个文件夹里了,请问这是怎么回事.本人新手,请尽量用通俗点的语言说下,谢谢了
------解决思路----------------------
把222.txt放到.h.cpp源代码文件所在的那个目录试试,或者把222.txt放到DEBUG文件夹里,然后到DEBUG文件夹里双击exe程序运行看看
------解决思路----------------------
比如你的程序myprog.exe在文件夹d:\mydir\debug中,开始、运行、cmd、确定
cd /d d:\mydir\debug
myprog
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
const int SIZE = 60;
int main()
{
char filename[SIZE];
ifstream inFile;
cout << "Enter name of data file:";
cin.getline(filename,SIZE);
inFile.open(filename);
if (!inFile.is_open())
{
cout << "error";
exit(EXIT_FAILURE);
}
double value;
double sum = 0.0;
int count = 0;
inFile >> value;
/*while (inFile.good())
{++count;
sum += value;
inFile >> value}*/
if (inFile.eof())
{
cout << "it is eof" << endl;
}
else if (inFile.fail())
{
cout << "fail" << endl;
}
else cout << "unknow" << endl;
if (count == 0)
{
cout << "no data" << endl;
}
else
{
cout << count << endl << sum << endl << sum / count << endl;
}
}
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
const int SIZE = 60;
int main()
{
char filename[SIZE];
ifstream inFile;
cout << "Enter name of data file:";
cin.getline(filename,SIZE);
inFile.open(filename);
if (!inFile.is_open())
{
cout << "error";
exit(EXIT_FAILURE);
}
double value;
double sum = 0.0;
int count = 0;
inFile >> value;
/*while (inFile.good())
{++count;
sum += value;
inFile >> value}*/
if (inFile.eof())
{
cout << "it is eof" << endl;
}
else if (inFile.fail())
{
cout << "fail" << endl;
}
else cout << "unknow" << endl;
if (count == 0)
{
cout << "no data" << endl;
}
else
{
cout << count << endl << sum << endl << sum / count << endl;
}
}
输入的是这样的
Enter name of data file:222.txt
unknow
no data
请按任意键继续. . .
222.txt放到了debug这个文件夹里了,请问这是怎么回事.本人新手,请尽量用通俗点的语言说下,谢谢了
------解决思路----------------------
把222.txt放到.h.cpp源代码文件所在的那个目录试试,或者把222.txt放到DEBUG文件夹里,然后到DEBUG文件夹里双击exe程序运行看看
------解决思路----------------------
比如你的程序myprog.exe在文件夹d:\mydir\debug中,开始、运行、cmd、确定
cd /d d:\mydir\debug
myprog