C语言,如何输出两个指针间的字符串

2020-07-28 教育 271阅读

有三种方法可供使用。

为方便描述,以下设定两个指针分别为char *类型的p1和p2,其中,p1


1 按字节输出。

使用putchar从*p1一直输出到*p2。样例代码如下:

while(p1{
    putchar(*p1++);
}


2 将p2位置作为字符串结束点,临时赋值为0,并在输出后恢复。

示例代码如下:

char t = *p2;//临时变量
*p2 = '\0'; //赋值结束符
printf("%s",p1);//输出
*p2 = t; //恢复


3 开辟一段内存,将需要输出的内容复制进去,然后再输出,不改变原本的p1,p2值。

示例代码如下:

char *t;
int len = p2-p1;
t = (char *)malloc(len+1);//注意留一个空间给结束符
memcpy(t,p1m len);
t[len] = '\0';
printf("%s", t);
free(t);
t = NULL;
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com