我需要一些关于指针和数组的指导
char *ptr;
char Array1[20];
ptr = malloc(sizeof(Array1));
Run Code Online (Sandbox Code Playgroud)
现在怎样才能将整个Array1放入ptr?
我试过strcat,strncat,strcpy.我也尝试了一个循环然后使用提到的函数并添加数组的每个元素,什么也没有
int a = 0
while ( a <= sizeof(Array1) )
{
strcpy(ptr, Array1[a]);
a++;
}
Run Code Online (Sandbox Code Playgroud)
我真的需要知道如何将数组转换为指针.
用途memcpy()
:
ptr = malloc(sizeof(Array1));
if (ptr)
{
memcpy(ptr, Array1, sizeof(Array1));
}
Run Code Online (Sandbox Code Playgroud)
该str*
系列函数依赖于的空终止字符的存在.
如果Array1
确实包含一个字符串,由空字符终止,那么strcpy()
和strncpy()
将正常运行.
strcat()
要求目标缓冲区中存在空终止符以及源缓冲区才能正常运行.
如果Array1
不包含空终止字符串,则不要使用这些str*
函数,memcpy()
而是使用.
归档时间: |
|
查看次数: |
111 次 |
最近记录: |