在将两个结果行写入文件之前比较用fprintf生成的结果行

Comparing two result lines generated with fprintf before writing them to file

本文关键字:结果 比较 fprintf 文件 两个      更新时间:2023-10-16

我有一个c++命令行程序,它将数据列表写入文件,作为验证过程的一部分,如下所示:

fprintf(code,"%st%st%5.3ft%5.3ft%5.3ftn", the_five_variables_the_data_comes_from

这发生在for循环中,我想通过编程检查后面的两行是否匹配。我的问题是这样做的最好方法是什么,新手需要知道什么才能实现它(只是说不要假设太多的先见之明)。

在写入文件之前,使用sprintf将其格式化为中间字符串。将每次迭代保存在'previous'变量中,并将其与当前变量进行比较。

像这样:

char previous[SIZE];
*previous = '';
for (...)
{
    char buffer[SIZE];
    sprintf(buffer, "...", ...);
    if (strcmp(previous, buffer) == 0)
        // Do something.
    strcpy(previous, buffer);
    fputs(buffer, file);
}
ofstream foo("output.txt");
string out, temp;
...loop....
{
    out = variable1 + var2 + var3 + var4 + var5;
    if(out == temp)
         ...match...
    foo << out;
    temp = out;
}
foo.close();