用文本替换占位符 - C?

goe*_*goe 2 c replace

我使用下面的函数从FILE流中逐个检索字符.现在该文件中的文本有时会包含像!first_name这样的地方持有者!在文中.什么是检测何时这样的占位符开始以及何时结束以便我可以在每个角色之间交换的最佳方法!从另一个存储具有适当的特征?

void print_chars(FILE *file) {
        fseek(file, 0L, 0);
        int cr;

        do {
              cr = fgetc(file);
              putchar(cr);
        } while (cr != EOF);
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*ler 5

通过使用开始fgets(),在一次读取行,然后(假设占位符不会对他们有空格或换行符),使用strchr(),找到第一个惊叹号,另一个找到第二个,strcpsn()或者strspn()确保只允许字符之间出现他们.然后写下第一个感叹号和替换文本之前的内容,然后继续扫描同一行上的更多占位符.