C语言将printf函数封装一下用变量控制是否打印
时间: 2024-09-27 21:15:25 浏览: 38
c语言中无返回值的函数打印字符串
在C语言中,如果你想通过变量控制`printf()`函数的输出,你可以创建一个自定义的开关函数来间接控制。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h> // 引入bool类型
// 自定义开关函数
void custom_print(bool enable, const char *format, ...) {
if (enable) {
va_list args;
va_start(args, format);
printf(format, args); // 使用stdarg.h库处理可变参数
va_end(args);
}
}
int main() {
bool print_flag = true; // 控制是否打印的变量
custom_print(print_flag, "Hello, World!\n"); // 当print_flag为真时打印
print_flag = false;
custom_print(print_flag, "This line will not be printed.\n");
return 0;
}
```
在这个例子中,`custom_print()`函数接受一个布尔值`enable`以及一个格式字符串`format`。如果`enable`为真,它会调用`printf()`;否则,就不会执行打印操作。
阅读全文