c语言中如何截取字符串,c语言如何截取字符串?

c语言中如何截取字符串,c语言如何截取字符串?substring C 截取字符串 include stdio h include conio h 从左边开始截取字符串 char left char dst char src intn intm char p src char q dst intlen strlen src if n gt len n len while n q

  substring.C — 截取字符串 */

#include “stdio.h”

#include “conio.h”

/*从左边开始截取字符串 */

char *left(char *dst,char *src,int n,int m)

{

char *p=src;

char *q=dst;

int len=strlen(src);

if(n>len) n=len;

while(n–) *(q++)=*(p++);

*(q++)=’\0′;

return dst;

}

/* 从右边开始截取*/

char *right(char *dst,char *src,int n,int m)

{

char *p=src;

char *q=dst;

int len=strlen(src);

if(n>len) n=len;

p+=(len-n);

while(*(q++)=*(p++));

return dst;

}

/*从中部截取字符串 */

char *mid(char *dst,char *src,int n,int m)

{

char *p=src;

char *q=dst;

int len=strlen(src);

if(n>len) n=len-m;

if(m>0) return NULL;

p += m;

while(n–) *(q++) = *(p++);

*(q++)=’\0′;

return dst;

}

char *substring(char *dst,char *src,int len,int start)

{

char *p=dst;

char *q=src;

int length=strlen(src);

if(start>=length||start<0) return NULL;

if(len>length) len=length-start;

q+=start;

while(len–)

{

*(p++)=*(q++);

}

*(p++)=’\0′;

return dst;

}

main()

{

char *src=”0088017″;

char *year,*month,*day;

int i;

/* 截取年

left(year,src,4,0);

for(i=0;i

{

printf(“%c”,*(year+i));

}

printf(“Hello, world\n”);

*/

substring(year,src,4,6);

for(i=0;i

{

printf(“%c”,*(year+i));

}

getch();

}

原型:extern char *strstr(char *haystack, char *needle);

用法:#include

功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。

说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。

举例:

// strstr.c

#include

#include

main()

{

char *s=”Golden Global View”;

char *l=”lob”;

char *p;

clrscr();

p=strstr(s,l);

if(p)

printf(“%s”,p);

else

printf(“Not Found!”);

getchar();

return 0;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208737.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:52
下一篇 2026年3月19日 上午10:53


相关推荐

  • Struts2漏洞总结

    Struts2漏洞总结Struts2漏洞总结

    2022年7月19日
    26
  • java io流面试_java面试核心知识点

    java io流面试_java面试核心知识点好久不见的IO流对IO流的学习,我记得还是初学Java基础的时候,后来找工作过程中经常看到有些招聘信息中写到熟悉IO流,现在想想IO流,真的是一脸懵逼,不说这么多废话了,IO流这次好好整理一下。说说IO流的类别在说流的类别之前,先说说什么是流,流其实就是对输入输出设备的抽象,可以把输入输出流理解为是一个通道,输入输出是相对程序而言的,如果是输出流,也就是往文件中写文件,而输入流,则是从文件中读取文件。从三个方面对IO流进行总结,一、字节流(一般都是xxxStream),二、字符流(xxxRead、xx

    2022年10月20日
    4
  • Tomcat配置域名和虚拟文件夹[通俗易懂]

    Tomcat配置域名和虚拟文件夹

    2022年2月5日
    52
  • 线与逻辑

    线与逻辑线与逻辑 OC 门 又称集电极开路 漏极开路 与非门门电路 OpenCollecto OpenDrain 为什么引入 OC 门 实际使用中 有时需要两个或两个以上与非门的输出端连接在同一条导线上 将这些与非门上的数据 状态电平 用同一条导线输送出去 因此 需要一种新的与非门电路 OC 门来实现 线与逻辑 OC 门主要用于 3 个方面 实现与或非逻辑 用做电平转换 用做驱动器 由于 OC 门电路的输出管

    2026年3月20日
    2
  • 完整教程:用deepseek部署全自动的机器人–bytebot

    完整教程:用deepseek部署全自动的机器人–bytebot

    2026年3月16日
    3
  • 列车调度 堆栈 python

    列车调度 堆栈 python列车调度描述题目分解1.全排列2.判断合法输出序列3.S容量小于A的情况,输出合法出栈序列4.输出操作5.输出操作完整可运行代码描述描述某列车调度站的铁道联接结构如Figure1所示其中,A为入口,B为出口,S为中转盲端。所有铁道均为单轨单向式:列车行驶的方向只能是从A到S,再从S到B;另外,不允许超车。因为车厢可在S中驻留,所以它们从B端驶出的次序,可能与从A端驶入的次序不同。不过S…

    2022年7月26日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号