从 txt 文件中删除注释

Remove comments from txt file

本文关键字:删除 注释 文件 txt      更新时间:2023-10-16

我需要调整一段代码,以便在复制时删除所有带有//的行。我尝试做:

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 ( );
}

您可以将其更改为以下内容:(假设您的输入以空值终止(

bool linebreak=false, putknel=false;
while (kar!='')
{
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 ( );
}

但这可能有些乏味。

如果您使用正则表达式,它会容易得多。

只需将所有匹配//[^rn]*rn替换为空字符串即可。