请教,如何把字符指针所指向的字符串,赋值给一个字符数组,多谢
请问,怎么把字符指针所指向的字符串,赋值给一个字符数组,谢谢
请问,怎么把字符指针所指向的字符串,赋值给一个字符数组,谢谢
------解决方案--------------------
strcpy
------解决方案--------------------
char *pch = "abc ";
char ch[10] = {0};
strcpy(ch,pch);
strcpy复制时注意长度。
------解决方案--------------------
strncpy
memcpy
------解决方案--------------------
strcpy(source ptr,destination ptr);//将source ptr里面的在 '\0 '前面的内容复制给destination ptr(包括 '\0 '字符串结束符号)
要求destination ptr有足够的容量可以容纳这个字符串
至少要strlen(source ptr)+1个单位
------解决方案--------------------
int main()
{
const char * p = "abc ";
char szbuff[4];
strcpy(szbuff, p);
cout < < szbuff < < endl;
memcpy(szbuff, p, 4);
cout < < szbuff < < endl;
return 0;
}
------解决方案--------------------
综上所述,呵呵
也可以直接来:
#include <stdio.h>
void main( void )
{
char *src = "123 "; int i=0; char des[10]={0};
while(*src != '\0 ')
des[i++] = *src++;
des[i]= '\0 ';
printf( "%s\n ",des);
}
------解决方案--------------------
char* strcyp(char* des, const char* src) {
assert((des != NULL) && (src != NULL));
char* temp = des;
while ((*des++ = *src) != '\0 ');
return temp;
}
请问,怎么把字符指针所指向的字符串,赋值给一个字符数组,谢谢
------解决方案--------------------
strcpy
------解决方案--------------------
char *pch = "abc ";
char ch[10] = {0};
strcpy(ch,pch);
strcpy复制时注意长度。
------解决方案--------------------
strncpy
memcpy
------解决方案--------------------
strcpy(source ptr,destination ptr);//将source ptr里面的在 '\0 '前面的内容复制给destination ptr(包括 '\0 '字符串结束符号)
要求destination ptr有足够的容量可以容纳这个字符串
至少要strlen(source ptr)+1个单位
------解决方案--------------------
int main()
{
const char * p = "abc ";
char szbuff[4];
strcpy(szbuff, p);
cout < < szbuff < < endl;
memcpy(szbuff, p, 4);
cout < < szbuff < < endl;
return 0;
}
------解决方案--------------------
综上所述,呵呵
也可以直接来:
#include <stdio.h>
void main( void )
{
char *src = "123 "; int i=0; char des[10]={0};
while(*src != '\0 ')
des[i++] = *src++;
des[i]= '\0 ';
printf( "%s\n ",des);
}
------解决方案--------------------
char* strcyp(char* des, const char* src) {
assert((des != NULL) && (src != NULL));
char* temp = des;
while ((*des++ = *src) != '\0 ');
return temp;
}