现在有个指向常量字符串的指针,我如何把常量字符串的内容考到一个字符数组里面啊

来源:百度知道 编辑:UC知道 时间:2024/06/25 22:59:43
char *p="name";
char str[];
怎样把*p的内容考到str数组里面去?

#include<stdio.h>
main()
{
char *p="name";
char str[];

/***赋值过程?***/
printf("p[%s]\n",p);
printf("str[%s]\n",str);
}
我试过拉,都不行啊

可以用系统提供的拷贝函数:strcpy()
下面给个小例子:
#include<stdio.h>
#include<string.h>
main()
{
char *p="name";
char str[30]; /*不能char str[]这样定义,要有“大小”*/

/***赋值过程?***/
printf("p[%s]\n",p);
strcpy(str,p);/*将p拷贝到str中*/
printf("str[]=%s\n",str);
}

#include <stdio.h>
char* Strcpy(char *szDesStr, char *szSrcStr)
{
while( *szSrcStr )
{
*szDesStr ++ = *szSrcStr ++;
}
*szDesStr = 0;
return szDesStr;
}

int main()
{
char *p="name";
char str[10]; //不能char str[]; 要初始化了才可以,比如char str[] = "name";
Strcpy( str, p );
printf( "%s\n", str );
return 0;
}

简单一点用memcpy.

#include<stdio.h>
void main()
{
char *p="name";
const int len = sizeof(p) + 1;
char str[len];

/***赋值过程?*