C语言从配置文件中取得的字符串 怎么将通配符替换为真实的字符串

C语言从配置文件中取得的字符串 如何将通配符替换为真实的字符串
#
XP_CertInportCommand = "certutil.exe"
#
XP_UserCertInportExec = "-p $$P -importpfx -user $$U"

上面是配置文件,程序中已取得2个字符串 char*passWord="pass123";char*UserFileName="User.p12";
如何将$$P替换为pass123,$$U替换为User.p12,然后调用exe程序,将参数传入,也就是执行
> certutil.exe -p pass123 -importpfx -user User.p12


------解决方案--------------------
笨一点的方法,str1就是你所需的参数:
char str1[100]="-p "
char str2[100]=" -importpfx -user "
strcat(str1, passWord);
strcat(str1, str2);
strcat(str1, UserFileName);

------解决方案--------------------
字符替换参考
------解决方案--------------------
仅供参考
#include <stdio.h>
#include <string.h>
char s[256];
char *p;
int r,n,i;
int main() {
    while (1) {
        printf("请输入一行文字(空行结束),\"%%20\"将替换为\" \",\"你懂得\"将替换为\"XXXXXX\":\n");
        fgets(s,256,stdin);
        if ('\n'==s[0]) break;
        p=s;
        while (1) {
            p=strstr(p,"%20");
            if (p) {
                memmove(p+1,p+3,strlen(p)-3+1);
                p[0]=' ';
            } else break;
        }
        p=s;
        while (1) {
            p=strstr(p,"你懂得");
            if (p) {
                memmove(p+6,p+6,strlen(p)-6+1);
                for (i=0;i<6;i++) p[i]='X';
            } else break;
        }
        printf("%s",s);
    }
    return 0;
}
//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX":
//abcdefg%20helloworld%20something.pdf
//abcdefg helloworld something.pdf
//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX":
//这是测试文字你懂得,在这个你懂的地方,就得做你懂得的事
//这是测试文字XXXXX,在这个你懂的地方,就得做XXXXX的事
//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX":
//



------解决方案--------------------
那你先把这些都读到字符串里面,然后使用函数strstr查找$$P和$$U,
把$$P前面的字符串赋值给str1,
$$P和$$U中间的字符串赋值给str2,
最后进行1楼的操作就行了啊
具体可以MSDN一下strstr的例子源码
很简单的
引用:
"certutil.exe"和"-p $$P -importpfx -user $$U"要通过配置文件读取才行

------解决方案--------------------