我有一段代码需要调整,以便在复制时用//删除所有行。我尝试这样做:
f (prevkar == '/' &&kar!= '/' )
uitput.put ('/');
但是它似乎没有用。
output.open ("output.txt",ios::out);
kar = input.get ( );
while ( ! input.eof ( ) )
{
//this part needs to be adjusted
output.put (kar);
kar = input.get ( );
}
答案 0 :(得分:0)
您可以将其更改为以下内容:(假设您输入的内容为空终止)
bool linebreak=false, putknel=false;
while (kar!='\0')
{
if(linebreak)
{
if(kar=='\n')linebreak=false;
}
if(kar!='/')
{
output.put (kar);
if(putknel)
{
putknel=false;
output.put('/');
}
}
else
{
if(!putknel)putknel=true;
else
{
putknel=false;
linebreak=true;
}
}
kar = input.get ( );
}
但这可能有点乏味。
如果使用正则表达式,它将更加容易。
只需将所有匹配//[^\r\n]*\r\n
的内容替换为空字符串即可。