C++fstream问题,如何判断一个文件是否为空 C++中fstream如何判断文件不存在
C++fstream\u6d41\u600e\u4e48\u5224\u65ad\u662f\u5426\u771f\u7684\u5230\u4e86\u6587\u4ef6\u7ed3\u5c3e.\u5728\u7ebf\u7b49\u53c2\u8003\u8fd9\u4e2a
#include
#include
using namespace std;
int main()
{
ofstream fcout("a.txt");
fcout<<"fsfd ag\n";
fcout.close();
ifstream fin("a.txt");
if(fin.good())
{
cout<<"\u6253\u5f00\u6210\u529f\n";
char ch;
while(!fin.eof()) //\u8fd9\u91cc
{
ch=fin.get();
cout<<ch;
}
}
fin.close();
fin.open("b.txt");
if(fin.fail())
cout<<"\u6253\u5f00\u5931\u8d25\n";
fin.close();
return 0;
}
#include
#include
using namespace std;
#define FILENAME "D:\\aaa.txt"
int main()
{
fstream file;
file.open(FILENAME,ios::in);
if(!file)
{
cout<<FILENAME<<"\u6ca1\u6709\u88ab\u521b\u5efa";
}
else
{
cout<<FILENAME<<"\u5df2\u7ecf\u5b58\u5728";
}
return 0;
}
}
用peek()函数试探一下文件的第一个字符是否为EOF;
fseek到文件尾然后ftell检查是否为0;
用Win32 API GetFileSize()
#include <iostream>
#include <fstream>
using namespace std;
#define FILENAME "D:\\aaa.txt"
int main()
{
fstream file;
file.open(FILENAME,ios::in);
if(!file)
{
cout<<FILENAME<<"没有被创建";
}
else
{
cout<<FILENAME<<"已经存在";
}
return 0;
}
}
绛旓細2杩涘埗鏂囦欢鍙互鐢 ignore,seekg 绛夈侫SCII鏂囦欢 C++涓 娌¤鍒扮被浼 C 涓 鐨 %*鏍煎紡銆備綘鍙互鐢ㄥ惊鐜鏉ヨ烦杩囷紝渚嬪锛歩nt junk,i;for (i=0;i<10;i++) ... >> junk;璺宠繃10涓暣鏁般
绛旓細鍙互涓娆℃ц鍏ワ紝缁撳悎瀛楃涓叉祦锛屽皢鏂囦欢涓殑鍐呭涓娆℃ц鍏ュ唴瀛橈紝浠g爜濡備笅锛歶sing std::ostringstream; using std::ifstream; using std::string; std::string fileContent; string strFileName="ServiceIpConfig.txt";//鏂囦欢鍚嶅瓧 fin.open(strFileName.c_str()); if (fin.is_open())...
绛旓細C++鎵撳紑鏂囦欢锛屽線閲岄潰杈撳叆鏁版嵁涓鑸兘鏄緭鍏ュ埌鍐呭瓨閲岄潰锛屽綋鏂囦欢鍏抽棴鐨勬椂鍊欐墠浼氭妸鏁版嵁鍐欒繘鏂囦欢閲岄潰锛岃繖涓簲璇ユ槸鍙互杩涜璁剧疆鐨勩fstream搴旇涓嶄細鏄彧鑳藉湪澶村熬鍔犵殑锛宑璇█閲岄潰鏈変釜fseek锛屾槸璁剧疆璇诲啓浣嶇疆鐨勶紝c++閲岄潰涔熸湁绫讳技鐨勩傚彟澶栦綘璇磋鍒犻櫎鍘熸枃浠堕噷闈㈢殑鏁版嵁锛屽彲浠ヨ缃墦寮鐨勬ā寮忥紝鍦ㄦ墦寮鏂囦欢鐨勬椂鍊欒缃竻绌烘枃浠...
绛旓細3.鎶婃墍鏈夌瀛愪粠A鏉嗗叏閮ㄧЩ鍒癈鏉嗕笂 缁忚繃鐮旂┒鍙戠幇锛屾眽璇哄鐨勭牬瑙e緢绠鍗曪紝灏辨槸鎸夌収绉诲姩瑙勫垯鍚戜竴涓柟鍚戠Щ鍔ㄩ噾鐗囷細濡3闃舵眽璇哄鐨勭Щ鍔細A鈫C,A鈫払,C鈫払,A鈫扖,B鈫扐,B鈫扖,A鈫扖 姝ゅ锛屾眽璇哄闂涔熸槸绋嬪簭璁捐涓殑缁忓吀閫掑綊闂銆傝ˉ鍏咃細姹夎濉旂殑绠楁硶瀹炵幇锛坈++锛塱nclude <fstream> include <iostream> using...
绛旓細c/c++浠庢潵鏄繖鏍,鍒氬ソ璇诲埌鏂囦欢灏剧殑鏃跺欎笉浼氭湁浠讳綍鍙嶅簲 鍦ㄦ枃浠舵湯绔啀璇诲彇涓娆,璇诲彇澶辫触鐨勬儏鍐典笅in.eof()浼氳繑鍥炵湡,c鐨凢ILE涔熸槸鍚屾牱鐨勬儏鍐 浣犲彲浠ヨ繖涔堣 include <fstream> include <iostream> using namespace std;int main(){ ifstream in;in.open("book.dat",ios_base::in|ios_base::binary);...
绛旓細杩欓噷鍐欓敊浜嗭細f = fopen("ADDRESS_DATA", "w+");鍥犱负浣犵敤鐨勬槸瀹忥紝鍘绘帀寮曞彿灏卞彲浠ヤ簡 f = fopen(ADDRESS_DATA, "w+");
绛旓細include <iostream>#include <fstream>using namespace std;int main(){ int n = 0; char str[100]="C:\\Documents and Settings\\Administrator\\妗岄潰\\bd\\1\\%d.txt"; for(n=0; n<100; n++) { sprintf(str,"C:\\Documents and Settings\\Administrator\\妗岄潰\\bd\...
绛旓細鍖哄埆涓锛氭湰璐ㄤ笉涓鏍 1銆乷fstream鏄粠鍐呭瓨鍒扮‖鐩橈紱2銆乮fstream鏄粠纭洏鍒板唴瀛 鍖哄埆浜岋細瀹為檯搴旂敤涓嶅悓 1銆 ifstream榛樿浠ヨ緭鍏ユ柟寮忔墦寮鏂囦欢 2銆乷fstream榛樿浠ヨ緭鍑烘柟寮忔墦寮鏂囦欢
绛旓細渚嬪锛氫互浜岃繘鍒惰緭鍏ユ柟寮忔墦寮鏂囦欢c:config.sys fstream file1;file1.open("c:\config.sys",ios::binary|ios::in,0);濡傛灉open鍑芥暟鍙湁鏂囦欢鍚嶄竴涓弬鏁帮紝鍒欐槸浠ヨ/鍐欐櫘閫氭枃浠舵墦寮锛屽嵆锛歠ile1.open("c:\config.sys");<=>file1.open("c:\config.sys",ios::in|ios::out,0);鍙﹀锛宖stream杩樻湁...
绛旓細)銆傝繖鏄 <iostream.h>鐨勪竴涓墿灞曢泦, 鎻愪緵鏈夌紦鍐茬殑鏂囦欢杈撳叆杈撳嚭鎿嶄綔. 浜嬪疄涓, <iostream.h> 宸茬粡琚<fstream.h>鍖呭惈浜, 鎵浠ヤ綘涓嶅繀鍖呭惈鎵鏈夎繖涓や釜鏂囦欢, 濡傛灉浣犳兂鏄惧紡鍖呭惈浠栦滑锛岄偅闅忎究浣犮傛垜浠粠鏂囦欢鎿嶄綔绫荤殑璁捐寮濮, 鎴戜細璁茶В濡備綍杩涜ASCII I/O鎿嶄綔銆傚鏋滀綘鐚滄槸"fstream," 鎭枩浣犵瓟瀵逛簡锛 浣嗚繖...