im 有一个 txt 文件
abc=123 def=456 ...
我像这样定义我的结构:
typedef struct rule {
char* old;
char* new;
}Rule;
我已经通过函数计算了这些规则的
int count_rules((;
现在我在另一个函数中调用这个函数,同时制作规则字典
void make_dic(){
ammount_rules = count_rules();
//here goes the problem
Rule *dictionary = malloc(ammount_rules * sizeof(Rule));
}
我想扫描另一个 txt 并用新的替换旧的,所以我想用简单的命令访问每个双胞胎
for (i=0; i<ammount_rules;i++){
if ( (string_in_text) == (dictionary.old[i]) )
{
printf("%s" dictionary.new[i]);
}
}
你的malloc
似乎很好。它使用ammount_rules
元素分配Rule
数组。
但是,您使用dictionary
的方式似乎是错误的。
dictionary.old[i] // wrong
dictionary[i].old // correct
dictionary.new[i] // wrong
dictionary[i].new // correct
顺便说一句:请注意,您正在比较指针 - 而不是字符串。使用 strcmp
比较字符串。