大哥大姐们,救救小弟吧!

gaoxiaopai 2003-10-14 09:28:36
我现在要得到这样一个字符串
CHAR *inBuf="DSN=POLICE\0" "Server=LHSERVER\0" "Database=LH_PDM\0";
现在有:三个变量如下
char *inbuf1="DSN=POLICE";
char *inbuf2="Server=LHSERVER";
char *inbuf2="Database=LH_PDM";
怎么把3个合为一个??救我!!
我要把结果放在下面的函数中
SQLConfigDataSource(NULL,ODBC_ADD_DSN, "SQL Server",inBuf);
...全文
25 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanlongly 2003-10-14
  • 打赏
  • 举报
回复
已经解决了!
solidsnake002 2003-10-14
  • 打赏
  • 举报
回复
是不是要用"\\0"?
solidsnake002 2003-10-14
  • 打赏
  • 举报
回复
能不能先转为用CString类,然后再进行操作
spwnihao 2003-10-14
  • 打赏
  • 举报
回复
我先冷静一下!!!
CHAR *inBuf="DSN=POLICE\0" "Server=LHSERVER\0" "Database=LH_PDM\0";
本身就有问题
因为你用inBuf的时候当遇到‘\0‘,程序就把这个符号的后面字符忽略了
gaoxiaopai 2003-10-14
  • 打赏
  • 举报
回复
大哥,更不对了,您试一试最后的返回值试多少?
spwnihao 2003-10-14
  • 打赏
  • 举报
回复
错了,在重来
int lbuf1 = sizeof(inbuf1)/sizeof(char);
int lbuf2 = sizeof(inbuf2)/sizeof(char);
int lbuf3 = sizeof(inbuf3)/sizeof(char);
//char inBuf[lbuf1+lbuf2+lbuf3];
char* inBuf = new char[lbuf1+lbuf2+lbuf3];
for(int i=0;i<lbuf1;i++)
{
inBuf[i] = inbuf1[i];
}
for(int i=0;i<lbuf2;i++)
{
inBuf[lbuf1+i]=inbuf2[i];
}
for(int i=0;i<lbuf3;i++)
{
inBuf[lbuf1+lbuf2+i]=inbuf3[i];
}
spwnihao 2003-10-14
  • 打赏
  • 举报
回复
少了'\0'
重来
int lbuf1 = sizeof(inbuf1)/sizeof(char);
int lbuf2 = sizeof(inbuf2)/sizeof(char);
int lbuf3 = sizeof(inbuf3)/sizeof(char);
char inBuf[lbuf1+lbuf2+lbuf3];
for(int i=0;i<lbuf1;i++)
{
inBuf[i] = inbuf1[i];
}
for(int i=0;i<lbuf2;i++)
{
inBuf[lbuf1+i]=inbuf2[i];
}
for(int i=0;i<lbuf3;i++)
{
inBuf[lbuf1+lbuf2+i]=inbuf3[i];
}
丁淇石头 2003-10-14
  • 打赏
  • 举报
回复
mark
gaoxiaopai 2003-10-14
  • 打赏
  • 举报
回复
楼上的我试过了,不行的,不然,你试试看!
spwnihao 2003-10-14
  • 打赏
  • 举报
回复
char* strTemp;
strcat(strTemp,inbuf1);
strcat(strTemp,inbuf2);
strcat(strTemp,inbuf3);
strcpy(inbuf,strTemp);
ok

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧