文件I/O:CFile、CFileFind

1、写入文件

CString szFilePath = _T("F:\A.txt");
FILE *fpFile;//定义一个文件
if(_tfopen_s(&fpFile, szFilePath, _T("w")) == 0)//以“写入”方式打开文件
{
	_ftprintf(fpFile, _T("写入的内容"));//写入内容
	
	fclose(fpFile);//关闭文件
} 

2、读取文件

FILE *fpFile;
if(_tfopen_s(&fpFile, szFilePath, _T("r")) ==0)
{
	TCHAR cBuf[256];
	TCHAR *cpValue;
	do{
		cpValue = _fgetts(cBuf, 255, fpFile);
		//处理
	}while(NULL != cpValue && feof(fpFile) == 0);
	fclose(fpFile);
}

3、追加文件

FILE *fpFile;
if(_tfopen_s(&fpFile, szFilePath, _T("a")) ==0)
{
	fseek(fpFile, 0, SEEK_END);
	
	if(ftell(fpFile) == 0)
		_ftprintf(fpFile, _T("追加内容"));
	_ftprintf(fpFile, _T("追加内容"));
	
	fclose(fpFile);
}

其中:

int fseek(FILE *stream, long offset, int fromwhere);
功 能: 重定位流上的文件指针
描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字 节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
返回值: 成功,返回0,否则返回其他值。

第一个参数:stream为文件指针
第二个参数:offset为偏移量,整数表示正向偏移,负数表示负向偏移
第三个参数:fromwhere设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
            SEEK_SET: 文件开头
            SEEK_CUR: 当前位置
            SEEK_END: 文件结尾
            其中SEEK_SET,SEEK_CUR和SEEK_END和依次为0,1和2.
    
    其中的含义如下:
            SEEK_SET:The offset is set to offset bytes.(就是设置到offset位置);
            SEEK_CUR:The offset is set to its current location plus offset bytes.(是设置到offset位置加上当前位置);
            SEEK_END:The offset is set to the size of the file plus offset bytes.(是设置到offset位置加上文件大小);

4、CFileFind:本地文件查找

CFileFind fileFind;
CString szFileName = _T("");
if(TRUE == fileFind.FindFile(_T("*_Filter.csv")))
{
	BOOL bExistNext;
	do{
		bExistNext = fileFind.FindNextFile();
		szFileName = fileFind.GetFileName();
		CString szFilePath = fileFind.GetFilePath();
		if (fileFind.IsDots() == FALSE)//如果不是目录
		{
			if (TRUE == fileFind.IsDirectory())//如果是文件夹
			{
			
			}
			else
				DeleteFile(szFilePath);//删除文件
		}
	}while(bExistNext);
}

你可能感兴趣的:(MFC,mfc)