如何判断文件是否为空?

时间:2022-05-12 18:39:41
如何判断是否存在文件?
如果存在,如何判断文件是否为空?
C/C++语言

14 个解决方案

#1


文件能打开就证明存在
文件能读出东西来就证明不为空

#3


EOF

(end of file)

#4


GetFileSize()

#5


文件能打开就证明存在 
文件能读出东西来就证明不为空
或者通过获取File size即可判断是否到文件尾

#6



ifstream fin(文件名)
while(!fin)//自己循环,为假的时候就读完文件
{
}
或者EOF

#7


用eof

#8


是否存在文件:FindNextFile SearchFile 
fopen()也可以呀,fopen(,,"r");读打开,如果是NULL就基本为不存在了

是否为空:
fseek(pf, 0, SEET_END);
int n = ftell(pf);  //n为0,则是空的

#9


#include "Shlwapi.h"

PathFileExists
Determines whether a path to a file system object such as a file or directory is valid. 

BOOL PathFileExists(
    LPCTSTR pszPath
    );
  Header: Declared in Shlwapi.h. 
  Import Library: Shlwapi.lib.

#10


这样可以的。!
TCHAR szresult_File[] = _T("\\My Flash Disk\\111111.txt");
FILE * fp = _tfopen(sz_result,_T("w"));
if(fp == NULL)
{
AfxMessageBox(_T("Open 111111.txt fail"));
}
else
{
_ftprintf(fp,_T("%s"),szToSend);
fclose(fp);
}

#11


这样可以的。!你可以试试看
TCHAR szresult_File[] = _T("\\My Flash Disk\\111111.txt");
FILE * fp = _tfopen(sz_result,_T("w"));
if(fp == NULL)
{
AfxMessageBox(_T("Open 111111.txt fail"));
}
else
{
_ftprintf(fp,_T("%s"),szToSend);
fclose(fp);
}

#12


方法很多

#13


CFile f;
CFileException e;
if( !f.Open( filename, CFile::modeRead, &e ) )
{
#ifdef _DEBUG
afxDump << "File could not be opened " << e.m_cause<< "\n";
#endif
}
int i=f.GetLength();
if(i==0)
{
AfxMessageBox("文件为空!");
}

#14


上面的几个好像都行

#1


文件能打开就证明存在
文件能读出东西来就证明不为空

#2


#3


EOF

(end of file)

#4


GetFileSize()

#5


文件能打开就证明存在 
文件能读出东西来就证明不为空
或者通过获取File size即可判断是否到文件尾

#6



ifstream fin(文件名)
while(!fin)//自己循环,为假的时候就读完文件
{
}
或者EOF

#7


用eof

#8


是否存在文件:FindNextFile SearchFile 
fopen()也可以呀,fopen(,,"r");读打开,如果是NULL就基本为不存在了

是否为空:
fseek(pf, 0, SEET_END);
int n = ftell(pf);  //n为0,则是空的

#9


#include "Shlwapi.h"

PathFileExists
Determines whether a path to a file system object such as a file or directory is valid. 

BOOL PathFileExists(
    LPCTSTR pszPath
    );
  Header: Declared in Shlwapi.h. 
  Import Library: Shlwapi.lib.

#10


这样可以的。!
TCHAR szresult_File[] = _T("\\My Flash Disk\\111111.txt");
FILE * fp = _tfopen(sz_result,_T("w"));
if(fp == NULL)
{
AfxMessageBox(_T("Open 111111.txt fail"));
}
else
{
_ftprintf(fp,_T("%s"),szToSend);
fclose(fp);
}

#11


这样可以的。!你可以试试看
TCHAR szresult_File[] = _T("\\My Flash Disk\\111111.txt");
FILE * fp = _tfopen(sz_result,_T("w"));
if(fp == NULL)
{
AfxMessageBox(_T("Open 111111.txt fail"));
}
else
{
_ftprintf(fp,_T("%s"),szToSend);
fclose(fp);
}

#12


方法很多

#13


CFile f;
CFileException e;
if( !f.Open( filename, CFile::modeRead, &e ) )
{
#ifdef _DEBUG
afxDump << "File could not be opened " << e.m_cause<< "\n";
#endif
}
int i=f.GetLength();
if(i==0)
{
AfxMessageBox("文件为空!");
}

#14


上面的几个好像都行