CString.Right的问题,真要把我给气疯了,大家帮忙看看。
cmoth 2002-04-03 12:34:48 程序如下,就是把IDC_FILENAME所指的文件中结尾为;号的行删掉,
void CGetValClsDlg::OnOK()
{
CString sLineContent;
TCHAR szPathOrig[_MAX_PATH], szPathClone[_MAX_PATH];
GetDlgItemText(IDC_FILENAME,szPathOrig,_MAX_PATH);
ofstream ofile(szPathOrig,ios::app);
GetTempPath(_MAX_PATH, szPathClone);
GetTempFileName(szPathClone, __TEXT("gzz"), 0, szPathClone);
if (0==CopyFile(szPathOrig, szPathClone, FALSE))
return;
ifstream tempfile(szPathClone);
while (0==tempfile.eof())
{
tempfile.getline ((LPSTR)(LPCTSTR)sLineContent,_MAX_PATH);
sLineContent.TrimRight(" ");
if (sLineContent.Right(1)) //<-----------------------
{
ofile <<sLineContent<<"\n";
}
}
MessageBox("fffffff");
}
现在的问题是打标注一行sLineContent.Right(1)返回值就是等于sLineContent,例如如果sLineContent是"Window;",那么sLineContent.Right(1)就是"Window;",这到底是怎么回事?哎,我现在都快被这个玩艺给气爆了!各位帮忙看看是什么地方的问题