C++文件读写问题

我想把每次输入的数据都存在myfile.txt里面且不会被覆盖查了下说用fopen,结果加在哪都行麻烦高手们看看代码如下char*pszFileName="C:\\myf... 我想把每次输入的数据都存在myfile.txt里面且不会被覆盖 查了下说用fopen,结果加在哪都行 麻烦高手们看看 代码如下 char* pszFileName="C:\\myfile.txt";

CStdioFile myFile;
CString str;
CString str2;

CFileException fileException;
GetDlgItem(IDC_COMBO_UESRNAME)->GetWindowText(str);
GetDlgItem(IDC_EDIT_PASSWORD)->GetWindowText(str2);
if(myFile.Open(pszFileName,CFile::typeText|CFile::modeCreate|CFile::modeReadWrite),&fileException)
{
myFile.WriteString(str);
myFile.WriteString("\n");
CString strOrder; strOrder.Format(str2); myFile.WriteString(strOrder);
展开
 我来答
匿名用户
2013-12-22
展开全部
myFile.Open(pszFileName,CFile::typeText|CFile::modeCreate|CFile::modeReadWrite) 这句的问题,CFile::modeCreate 每次打开都会重新创建文件,覆盖原来的文件,应该先用IF 语言判断文件是否存在 不存在的话用上面的创建方式打开, 如果存在destfile.Open(DestFilePaht,CFile::modeWrite|CFile::typeBinary);方式打开,然后 destfile.SeekToEnd();
匿名用户
2013-12-22
展开全部
CStdioFile sFile1( L"test.dat", CFile::modeCreate| CFile::modeNoTruncate | CFile::modeWrite | CFile::typeText );
sFile1.SeekToEnd();
CString str1 = L"test1\n";
CString str2 = L"test test2\n";

sFile1.WriteString(str1);
sFile1.WriteString(str2);
sFile1.Close();

用这个吧 道理 就是 打开文件后用SeekToEnd();把指针指定到末尾,然后写入。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式