CStdioFile cf("D:\\gequliebiao.txt",CFile::modeRead|CFile::typeText);
CString content;
while(cf.ReadString(content))
{
MessageBox(content);
}D盘的文本只有三条数据:如下
C:\Documents and Settings\Administrator\桌面\蓝莲花.mp3
C:\Documents and Settings\Administrator\桌面\人质.mp3
C:\Documents and Settings\Administrator\桌面\我期待.mp3 读取的时候,只是弹出了2条数据,只有第一条数据是正确的,第二条数据是第三行的,而且是不完整的,为什么会这样呢?
其中写入数据的时候,使用的是CFile Write方法
代码如下:
CFile cf;
if(!_access("D:\\gequliebiao.txt",0)==0)//不存在路径
{
cf.Open("D:\\gequliebiao.txt",CFile::modeCreate|CFile::modeWrite);
}
else
{
cf.Open("D:\\gequliebiao.txt",CFile::modeWrite|CFile::modeNoTruncate);//注意标志
} if(cf)
{
cf.SeekToEnd();//在写入之前,把光标移动到最后
cf.Write(PathName,PathName.GetLength()+1);
gemings.push_back(CString(name.c_str()));
}
cf.Close();
谁能帮一下啊?
CString content;
while(cf.ReadString(content))
{
MessageBox(content);
}D盘的文本只有三条数据:如下
C:\Documents and Settings\Administrator\桌面\蓝莲花.mp3
C:\Documents and Settings\Administrator\桌面\人质.mp3
C:\Documents and Settings\Administrator\桌面\我期待.mp3 读取的时候,只是弹出了2条数据,只有第一条数据是正确的,第二条数据是第三行的,而且是不完整的,为什么会这样呢?
其中写入数据的时候,使用的是CFile Write方法
代码如下:
CFile cf;
if(!_access("D:\\gequliebiao.txt",0)==0)//不存在路径
{
cf.Open("D:\\gequliebiao.txt",CFile::modeCreate|CFile::modeWrite);
}
else
{
cf.Open("D:\\gequliebiao.txt",CFile::modeWrite|CFile::modeNoTruncate);//注意标志
} if(cf)
{
cf.SeekToEnd();//在写入之前,把光标移动到最后
cf.Write(PathName,PathName.GetLength()+1);
gemings.push_back(CString(name.c_str()));
}
cf.Close();
谁能帮一下啊?
用CFile 的时候你要加换行符号.
看你的写法根本没加换行符号,当然读不出来,
char dd[]="C:\\Documents and Settings\\Administrator\\桌面\\蓝莲花.mp3\nC:\\Documents and Settings\\Administrator\\桌面\\22.mp3\n";
cf.Write(dd,strlen(dd));
CFile cf;
if(!_access("D:\\gequliebiao.txt",0)==0)//不存在路径
{
cf.Open("D:\\gequliebiao.txt",CFile::modeCreate|CFile::modeWrite);
}
else
{
cf.Open("D:\\gequliebiao.txt",CFile::modeWrite|CFile::modeNoTruncate);//注意标志
} if(cf)
{
cf.SeekToEnd();//在写入之前,把光标移动到最后
cf.Write(PathName,PathName.GetLength());
cf.SeekToEnd();
cf.Write("\n",strlen("\n"));
gemings.push_back(CString(name.c_str()));
}
cf.Close(); }