在写入内容之前如何检查文件是否为空?谢谢
How to check that file is empty or not before writing something in it ? thanx
在文件中写入一些数据之前,我想检查这个文件是否为空。如果它是空的,那么我
必须写一个其中值为 0 的矩阵。那么,请告诉我该怎么做?
void details(int arr[][10]) // assumed that this matrix already contains 0
//values
{
int m1 = 10;
int n1 = 10;
ofstream fout;
fout.open("bookingb1.text" , ios::out);
// here i wanted to check.
unordered_map<string , long long>m;
cout<<"enter your name :"<<endl;
cin.ignore();
getline(cin,name);
cout<<"register your aadhar id:"<<endl;
cin>>id;
m.insert({name , id});
for(auto i = m.begin(); i!=m.end(); i++)
fout<<i->first<<" "<<i->second<<endl;
fout.close();
book(arr);
}
函数 tellg()
returns 文件的读取(获取)位置,我们使用 std::ios::ate
打开文件,最后读取(获取)位置。所以如果 tellg()
returns 0 它一定是空的。
在文件中写入一些数据之前,我想检查这个文件是否为空。如果它是空的,那么我 必须写一个其中值为 0 的矩阵。那么,请告诉我该怎么做?
void details(int arr[][10]) // assumed that this matrix already contains 0
//values
{
int m1 = 10;
int n1 = 10;
ofstream fout;
fout.open("bookingb1.text" , ios::out);
// here i wanted to check.
unordered_map<string , long long>m;
cout<<"enter your name :"<<endl;
cin.ignore();
getline(cin,name);
cout<<"register your aadhar id:"<<endl;
cin>>id;
m.insert({name , id});
for(auto i = m.begin(); i!=m.end(); i++)
fout<<i->first<<" "<<i->second<<endl;
fout.close();
book(arr);
}
函数 tellg()
returns 文件的读取(获取)位置,我们使用 std::ios::ate
打开文件,最后读取(获取)位置。所以如果 tellg()
returns 0 它一定是空的。