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就是你所需的参数:
------解决方案--------------------
字符替换参考
------解决方案--------------------
仅供参考
------解决方案--------------------
那你先把这些都读到字符串里面,然后使用函数strstr查找$$P和$$U,
把$$P前面的字符串赋值给str1,
$$P和$$U中间的字符串赋值给str2,
最后进行1楼的操作就行了啊
具体可以MSDN一下strstr的例子源码
很简单的
------解决方案--------------------
#
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的例子源码
很简单的
------解决方案--------------------