我正在从逗号分隔的csv文件中读取数据。我想在读取之前验证文件是否有数据,如果文件没有任何数据则返回错误。
const char * sample_data_file =“sample_data1.csv”; std :: ifstream文件(sample_data_file);
谢谢!
答案 0 :(得分:1)
对stat的简单调用将告诉您文件是否为空。这应该足以解决你的问题了。
答案 1 :(得分:0)
打开文件时检查文件的大小?
// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main ()
{
ifstream myfile ("C:/temp/sample1.csv");
// this gives you the number of bytes in the file.
if (myfile.is_open())
{
long begin, end;
begin = myfile.tellg();
myfile.seekg (0, ios::end);
end = myfile.tellg();
if(end-begin == 0)
{
cout << "file is empty \n";
}
else
{
cout << "size: " << (end-begin) << " bytes." << endl;
}
myfile.close();
}
else cout << "Unable to open file \n";
return 0;
}