字符串通配符c语言,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 

#include 

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"要通过配置文件读取才行

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值