c - 查找/替换许多单词
问题描述
我有一条日志输入消息,我需要根据以下内容对其进行格式化:
#define DEFAULT_FORMAT "[%(levelname)] %(time) %(name) - %(filename):%(funcName):%(lineno) - %(msg)"
如果要编写一个基本上执行类似(伪代码)的函数:
char output_buffer[size??];
char* replacements = {"%(levelname)", "%(time)", ...};
for (int i=0; i<sizeof(replacements)/sizeof(*replacements) ; i++)
replace(from, to, output_buffer);
但这提出了一些棘手的问题,例如,我怎么知道输出缓冲区的大小?我是否必须执行两次,首先查看输出缓冲区的大小,然后才能实际进行替换?执行上述操作可能是一种明智的方法?
解决方案
推荐阅读
- excel - 将动态列从一个工作簿复制到另一个工作簿
- shell - 用于在远程 PC 上映射驱动器的批处理脚本 - 用户提示输入用户名变量
- reactjs - Batching actions in redux-saga
- php - 使用 Ajax 和 php 从 Multiselect 选项向多个用户发送电子邮件
- python - How can I load CSV data for a PyTorch neural network?
- csv - 是否有类似于 .ics 的“RRULE”的东西可以在 .CSV 中实现以在谷歌日历导入中使用重复事件
- javascript - 我是在 fetch api 上做错了什么,还是我目前正在使用的应用程序
- angular - 冗余条件逻辑
- tomcat - Tomcat 加载和旧版本的 .war
- r - 使用 NA 时的不同向量长度