当前位置:首页 » 编程语言 » c语言用指针复制字符串
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言用指针复制字符串

发布时间: 2022-06-02 15:59:47

1. c语言,指针函数实现字符串的复制,连接,比较长度

复制函数strcpy 连接函数strcat 长度strlen 比较大小strcmp 包含在头文件string.h 可以打开那个头文件看具体程序段

2. 用指针的方法来复制字符串问题(C语言)

你的主要错误是对常量进行赋值!
指针p,q都指向常量字符串,不是指向可变的内存。
所以你通过p,q对内存进行操作是错误的。
如果你先对p,q进行new char操作,然后将你的字符串赋值到这块内存中,接下来再进行你程序中的操作。

3. C语言中,用指针实现字符串的拷贝,不能用strcpy,用自定义函数实现该功能

#include<stdio.h>
#include<time.h>

/*把从src地址开始的字符串复制到以dest开始的字符串中*/
char*str(char*dest,char*src){
char*r=dest;
while((*r++=*src++)!='');
returndest;
}

intmain(){
char*str1="abcde";
char*str2;

str2=str(str2,str1);/*把str1复制到str2*/

puts(str2);

return0;
}

运行结果

4. C语言实现字符串拷贝函数的几种方法

首先是使用库函数
比如下面代码

void ourStrCopy(char S1[] , char S2[]){ strcpy(S1, S2); //该函数还有另一个版本可以按长度截取 }

还有一个函数是memcpy,这个是内存拷贝,原型是

void memcpy(void *dest, const void *src, size_t n); 需要注意的是这个函数第一个和第二个指针都是void型且第二个指针不能被修改,第三个参数是需要拷贝的内存长度按字节记。

然后是用指针引用,注意这个并非赋值,而是引用,这种操作需要注意内存。

char s1[] = "abcdefg";//定义一组字符串char *s2 = s1;//按照指针拷贝字符串

第三种方法就是直接赋值了

void outStrCopy(char s1[] , char s2[]){ int len1 = strlen(s1);//获取第一个字符串的长度 int len2 = strlen(s2);//获取第二个字符串的长度 int len = 0; //字符串总长度 if(len1 <= len2){ len = len2; //选择COPY的长度 }else{ len = len1; } for(int i = 0 ; i < len ; i++){ s1[i] = s2[i]; //实现数据拷贝 }}

5. C语言,怎么把一个指针的内容复制到另一个指针

strcpy(nam,p1->name);
p2->grade=grade;
strcpy(p2->name,nam);

strcat 是连接两个字符串的,如果多连接几个, nam就会溢出数组了……
strcpy 才是拷贝字符串的正确函数。

6. c语言指针小程序的问题,就是字符串的复制,如果2个字符串长度不等。

有一点问题:
#include
<stdio.h>
int
main()
{
void
_string
(char
from[],char
to[]);
char
a[80]="I
am
a
teacher.";
//最好直接分配空间,使用指针变量赋值,
//容易出现非法操作关闭的现象,因为字符串常量所在区间为常量区间
char
b[]="I
am
a
good
student.";
printf("string
a=%s\nstring
b=%s\n",a,b);
printf("
string
a
to
string
b:\n");
_string(b,a);
printf("string
a=%s\nstring
b=%s\n",a,b);
return
0;
}
void
_string
(char
from[],char
to[])
{
char
*p1,*p2;
p1=from;
p2=to;
while(*p1!='\0')
*p2++=*p1++;
*p2='\0';
//复制完成后,要将字符串结束符加上,因为前面的循环是复制到'\0'为止的
}

7. 指针复制字符串问题(C语言)

1、我在主程序中没有看到任何调用程序的入口
2、void 应该是无值返回函数、程序
3、return0;什么?这应该写在子函数、程序中的吧
4、(int argc, constchar * argv[]) 有意义吗?没看到有任何作用啊

其他的可能还有

8. 怎样用字符指针实现两个字符串的拷贝,求c语言程序

int *p *q
将设将q中的复制到p中
while(*q!='\0')
*p++=*q++;
姐这么简单