将foo添加到所有fprintf()

时间:2014-07-04 05:10:19

标签: c file file-io

我有一个用C编程语言编写的代码。在这段代码中,我使用此命令fprintf(stdout,"--- This is just fo foo! ---\n");有200多行。我想在输出的开头添加类似 hello foo 的东西。在这种情况下,结果将如下:

你好foo ---这只是foo! --- 即可。 但重点是线条超过200,我拒绝将 hello foo 添加到所有200行。那么有什么C函数或者其他任何东西可以帮我吗?

3 个答案:

答案 0 :(得分:2)

借此机会对整个代码库进行全局搜索和替换,并将每一行更改为:

fo_foo();

并添加一个公共标题:

inline void fo_foo() { fprintf(stdout, "hello foo--- etc."); }

下次需要更改此字符串时,您只需在一个地方进行更改。

答案 1 :(得分:2)

你可以通过创建一个新函数来解决它,它接受你真正想要打印的文本,新函数使用printf打印带有前缀的想要文本:

void my_print(const char *text)
{
    printf("hello foo--- %s", text);
}

然后查询 - 替换所有调用以改为使用新函数。

答案 2 :(得分:1)

在vi / vim编辑器上输入以下命令

:%s​​ / --- / hello \ foo --- / g在esc模式下。

它将取代< --->的出现到<你好foo --->