我的任务是用文件行中的另一个字符串替换一个字符串。
我仍处于C programming
语言学习的开始,并且面临一些问题。我应该找到以#define
开头的行,获取它们的值并删除它们。然后,无论常量名称出现在何处,都应将其替换为其值。我已经从文件中保存了定义值,但是在用其值替换常量名称时遇到一些困难。到目前为止,我有两个数组保存了常量名称和值:
char constant_names[256];
char constant_values[256];
如果您能给我一些有关解决任务的想法,我将非常感激。
答案 0 :(得分:1)
如果您能给我一些解决方案的想法,我将非常感激
OP正在寻找想法:
一个关键问题,即模式字符串及其替换字符串的长度可能不同。
读取并处理每一行并保存到另一个文件。
伪代码:
Open file for reading
Open a temp file for writing
For each line
if "define" found
add to internal substitution list
else
if a substitutable token found
perform substitutions
write line to temp file
close files
rename original file to tmp2
rename tmp file to original
if no errors anywhere
delete tmp2
我希望大约100-200行C代码。