【发布时间】:2011-11-26 19:33:48
【问题描述】:
我遇到了一个问题。我有一个代码应该读取以下文本文件,删除最后一个符号并将新文本输出到其他文件中。我的问题是:如何删除最后一个符号?我尝试过类似
for(int j=0;j<10000;j++)
{
if(simbols[j]=='\0')
{
cout<<j;
minusOne = j-1;
minusOne ='\0';
break;
}
}
但它并没有真正帮助并做我想做的任何事情。任何帮助将不胜感激!
附: 如果有任何帮助,这里是完整的代码:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
char simbols[10000]; int minusOne;
ofstream outFile("outFile.out");
ifstream inFile("inFile.in");
for(int i=0;i<10000;i++)
{
inFile >> simbols[i];
}
for(int j=0;j<10000;j++)
{
if(simbols[j]=='\0')
{
cout<<j;
minusOne = j-1;
minusOne ='\0';
break;
}
}
if(outFile.is_open())
{
for(int l=0;l<10000;l++)
{
outFile << simbols[l];
}
}
inFile.close();
outFile.close();
return 0;
}
【问题讨论】:
-
为什么不将文件内容保存到字符串然后写入新流
fileTextString.substr(0, fileTextString.size()-1);?? -
任何使用小写 ell 作为变量名的代码都会得到我的反对。您认为通过选择这样的名称可以完成什么?
-
嗯...上次我检查变量是由编写代码的人设置的,而不是第 3 方用户。