在一行的末尾插入一个字符串

时间:2017-04-12 01:37:46

标签: c++

所以我正在制作这个程序,它为我想要的任何代码添加注释,但是它必须查找字符串"// var"才能知道它下面的行上有一个变量。我在这个函数中尝试做的是擦除具有"// var"的初始行,然后将其添加到下一行的末尾。我在一个名为file的字符串中搜索所有这些内容,其中包含文件的所有内容。一切都改变后,我将其输出到一个新的修订文件,声明为oF

void addVariable(string& file, ofstream& oF)   

size_t pos = 0;
string variableString = "// var";

while(( pos = file.find("// var", pos)) != string::npos )
{
    file.erase(pos,8);
    file.insert(pos,"// var" );
    pos += pos.length();
}       
    oF<<file;

我的问题在于file.insert。我似乎无法找出将"// var"放在行尾的任何方法

以下是初始文件和修订文件之间应该更改的示例

//var
int number;

int numbers; //var

还使用std

1 个答案:

答案 0 :(得分:1)

类似的东西:

  • 打开InputFile
  • 打开一些OutputFile
  • (进程):将一行写入string CurrentLine
  • If(CurrentLine == "// var") - &gt; ToAdd = true; continue;
  • ElseIf(ToAdd == true) - &gt; CurrentLine += " // var"; ToAdd = false;
  • CurrentLine写入输出文件
  • 继续下一行(重复过程)
  • 读取并处理完所有行后,关闭这两个文件并用新的
  • 替换旧文件

研究实施步骤。