2014-07-04 132 views
2

我有一个用C编程语言编写的代码。在这段代码中,我有超过200行的命令fprintf(stdout,"--- This is just fo foo! ---\n");。我想在输出的开始处添加诸如hello foo之类的内容。在这种情况下,结果将如下所示:将foo添加到所有的fprintf()

hello foo --- This is just fo foo! ---。 但重点是行数超过200,我拒绝将hello foo添加到所有200行。那么是否有任何C函数或任何可以为我执行的操作?

+0

难道你没有一个具有搜索替换功能的编辑器吗? –

+0

是的,我有。但我的问题是另一件让我寻找这个问题的答案。 – alex

+1

您可以使用字符串预先设定的宏来做到这一点,但只适用于短期专用解决方案 – slezica

回答

2

借此机会做一个全局搜索和替换你的整个代码库,并在每行更改为:

fo_foo(); 

,并添加在一个共同的头:

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

下一次你需要改变这个字符串,你只需要在一个地方完成。

1

类型以下上VI/vim编辑

命令:%S/--- /你好\ FOO --- /在ESC模式克。

它将取代的< --->的发生,<你好富--->

2

你可以通过做一个新的功能,把你真正想要打印的文本解决它,而新功能使用printf与前缀打印所需的文字:

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

然后查询替换所有通话使用新的功能来代替。

相关问题