当前位置: 技术问答>linux和unix
linux字符串操作(在线等,正确就放分!)
来源: 互联网 发布时间:2015-11-26
本文导语: 已经有个char buffer[0x200];里面是X=10,怎么在前面加一个export ?变成export X=10? | char tmpbuf[0x200]; strcpy(tmpbuf, buffer); sprintf(buffer, "%s %s", "export", tmpbuf); | strcat(连接两字符串...
已经有个char buffer[0x200];里面是X=10,怎么在前面加一个export ?变成export X=10?
|
char tmpbuf[0x200];
strcpy(tmpbuf, buffer);
sprintf(buffer, "%s %s", "export", tmpbuf);
strcpy(tmpbuf, buffer);
sprintf(buffer, "%s %s", "export", tmpbuf);
|
strcat(连接两字符串)
表头文件 #include
定义函数 char *strcat (char *dest,const char *src);
函数说明 strcat()会将参数src字符串拷贝到参数dest所指的字符串尾。第一个参数dest要有足够的空间来容纳要拷贝的字符串。
返回值 返回参数dest的字符串起始地址
范例
#include
main()
{
char a[30]="string(1)";
char b[]="string(2)";
printf("before strcat() : %sn",a);
printf("after strcat() : %sn",strcat(a,b));
}
执行
before strcat () : string(1)
after strcat () : string(1)string(2)
表头文件 #include
定义函数 char *strcat (char *dest,const char *src);
函数说明 strcat()会将参数src字符串拷贝到参数dest所指的字符串尾。第一个参数dest要有足够的空间来容纳要拷贝的字符串。
返回值 返回参数dest的字符串起始地址
范例
#include
main()
{
char a[30]="string(1)";
char b[]="string(2)";
printf("before strcat() : %sn",a);
printf("after strcat() : %sn",strcat(a,b));
}
执行
before strcat () : string(1)
after strcat () : string(1)string(2)
|
如楼上yjf7888(断刀)所说。
一楼的,sprintf的参数处理不当,源和目的是一样的,根据sprintf的内部实现,有可能会产生奇怪的现象。
一楼的,sprintf的参数处理不当,源和目的是一样的,根据sprintf的内部实现,有可能会产生奇怪的现象。
|
sprintf (buffer, "export %s", buffer);