关于一个C语言程序的有关问题,恳求高手帮忙 急 多谢
关于一个C语言程序的问题,恳求高手帮忙 急 谢谢
#include <stdio.h>
#include <stdlib.h>
char *strcat(int,char *,char *[]);
int main(int argc, char *argv[])
{
int i;
char *aPtr,*bPtr[50];
char a[70]="Welcome to you ";
for(i=1;i<argc;i++)
{
bPtr[i-1]=argv[i];
}
for(i=0;i<2;i++)
{
printf("%s\t",bPtr[i]);
}
aPtr=strcat(argc,a,bPtr);
printf("%s\n",aPtr);
return 0;
}
char *strcat(int gc,char *s1,char *s2[])
{
int j;
char *p=s1,*u;
while(*s1)
{
s1++;
}
for(j=0;j<gc-1;j++)
{
u=s2[j];
for(;(*s1=*u);s1++,u++);
}
return p;
}
这个程序有个warning:conflicting types for built-in function 'strcat'; 怎么解决;
而且在cmd里我输入两个字符串,输出的时候两个字符串连在一起,没有空格空开,怎么办?
------解决方案--------------------
C语言带有strcat函数, 你百度一下strcat看看用法
------解决方案--------------------
從你的代碼看,你是要讀取所有cmdline的參數吧,
這個是用的c++的string類
string cmdarg = "";
for (int i=1; i<argc; i++) {
cmdarg += argv[i]; // 這裡將參數加到cmdarg中
cmdarg += " "; //用一個空格將參數隔開
}
------解决方案--------------------
char *aPtr, *bPtr[50];
#include <stdio.h>
#include <stdlib.h>
char *strcat(int,char *,char *[]);
int main(int argc, char *argv[])
{
int i;
char *aPtr,*bPtr[50];
char a[70]="Welcome to you ";
for(i=1;i<argc;i++)
{
bPtr[i-1]=argv[i];
}
for(i=0;i<2;i++)
{
printf("%s\t",bPtr[i]);
}
aPtr=strcat(argc,a,bPtr);
printf("%s\n",aPtr);
return 0;
}
char *strcat(int gc,char *s1,char *s2[])
{
int j;
char *p=s1,*u;
while(*s1)
{
s1++;
}
for(j=0;j<gc-1;j++)
{
u=s2[j];
for(;(*s1=*u);s1++,u++);
}
return p;
}
这个程序有个warning:conflicting types for built-in function 'strcat'; 怎么解决;
而且在cmd里我输入两个字符串,输出的时候两个字符串连在一起,没有空格空开,怎么办?
------解决方案--------------------
C语言带有strcat函数, 你百度一下strcat看看用法
------解决方案--------------------
從你的代碼看,你是要讀取所有cmdline的參數吧,
這個是用的c++的string類
string cmdarg = "";
for (int i=1; i<argc; i++) {
cmdarg += argv[i]; // 這裡將參數加到cmdarg中
cmdarg += " "; //用一個空格將參數隔開
}
------解决方案--------------------
char *aPtr, *bPtr[50];