1.CStdioFile
参考地址: 猛戳这里
用CFile对文件进行操作比较繁琐,使用继承自CFile的CStdioFile类要容易得多
用CStdioFile 来处理字符串,是个很好的选择
公共方法
名称 | 说明 |
---|---|
已重载。 打开旨在用于默认 CStdioFile 构造函数的使用(重写 CFile::Open)。 | |
读取一行文本。 | |
确定当前文件指针。 | |
编写一行文本。 |
几种比较常见的文件打开模式:
CFile::modeCreate 以新建方式打开,如果文件不存在,新建;如果文件已存在,把该文件长度置零,即清除文件原有内容。
CFile::modeNoTruncate 以追加方式打开,如果文件存在,打开并且不将文件长度置零,如果文件不存在,会抛出异常。一般与CFile::modeCreate 一起使用,则文件不存在时,新建一个文件;存在就进行追加操作。
CFile::modeWrite 以只写模式打开
CFile::modeRead 以只读模式打开
CFile::modeReadWrite 以读写模式打开
一下是ObjectArx中的代码片段:
功能将图层数据写入到txt中
CStdioFile f;
CFileException e;
char *pFileName = "D:\\writeXRecord.txt";
if (!f.Open(pFileName, CFile::modeWrite |CFile::modeNoTruncate, &e))
{
acutPrintf("\n创建导出文件失败!");
return;
}
// 将图层特性写入到文件中(追加写入)
f.SeekToEnd();
f.WriteString(Info);
读文件行字符串放到strLineText中:
CStdioFile f;
CFileException e;
char *pFileName = "D:\\WriteXRecord.txt";
if (!f.Open(pFileName, CFile::modeRead, &e))
{
acutPrintf("\n打开导入文件失败!");
return;
}
// 读取文件中的每一行数据
ads_point center;
ads_point edge;
CString Info;
CString strLineText; // 一行文字
// 读取文件中的每一行数据
while (f.ReadString(strLineText))
{
if (strLineText.IsEmpty())
{
continue;
}
.................
}