#include <stdio.h>
#include <string.h>/**
* 字符串originString以字符串prefix开头,返回0;否则返回1;异常返回-1
*/
int startWith(const char *originString, char *prefix) {// 参数校验if (originString == NULL || prefix == NULL || strlen(prefix) > strlen(originString)) {printf("参数异常,请重新输入!\n");return -1;}int n = strlen(prefix);int i;for (i = 0; i < n; i++) {if (originString[i] != prefix[i]) {return 1;}}return 0;
}/**
* 字符串originString以字符串end结尾,返回0;否则返回1;异常返回-1
*/
int endWith(const char *originString, char *end) {// 参数校验if (originString == NULL || end == NULL || strlen(end) > strlen(originString)) {printf("参数异常,请重新输入!\n");return -1;}int n = strlen(end);int m = strlen(originString);int i;for (i = 0; i < n; i++) {if (originString[m-i-1] != end[n-i-1]) {return 1;}}return 0;
}int main()
{char a[128] = "12345";char b[128] = "1";char *c = "2";char e[128] = "12345";char f[128] = "5";char *g = "4";printf("Flag1 = %d\n", startWith(a, b));printf("Flag2 = %d\n", startWith(a, c));printf("Flag3 = %d\n", endWith(e, f));printf("Flag4 = %d\n", endWith(e, g));return 0;
}

下面为方便非csdn用户复制代码:

#include <stdio.h>
#include <string.h>

/**
* 字符串originString以字符串prefix开头,返回0;否则返回1;异常返回0
*/
int startWith(const char *originString, char *prefix) {
    // 参数校验
    if (originString == NULL || prefix == NULL || strlen(prefix) > strlen(originString)) {
        printf("参数异常,请重新输入!\n");
        return -1;
    }
    
    int n = strlen(prefix);
    int i;
    for (i = 0; i < n; i++) {
        if (originString[i] != prefix[i]) {
            return 1;
        }
    }
    return 0;
}

/**
* 字符串originString以字符串end结尾,返回0;否则返回1;异常返回0
*/
int endWith(const char *originString, char *end) {
    // 参数校验
    if (originString == NULL || end == NULL || strlen(end) > strlen(originString)) {
        printf("参数异常,请重新输入!\n");
        return -1;
    }
    
    int n = strlen(end);
    int m = strlen(originString);
    int i;
    for (i = 0; i < n; i++) {
        if (originString[m-i-1] != end[n-i-1]) {
            return 1;
        }
    }
    return 0;
}

int main()
{
   char a[128] = "12345";
   char b[128] = "1";
   char *c = "2";
    
   char e[128] = "12345";
   char f[128] = "5";
   char *g = "4";
    
   printf("Flag1 = %d\n", startWith(a, b));
   printf("Flag2 = %d\n", startWith(a, c));
    
   printf("Flag3 = %d\n", endWith(e, f));
   printf("Flag4 = %d\n", endWith(e, g));

return 0;
}

c语言判断是否以某个字符串开头,以某个字符串结尾相关推荐

  1. C语言判断回文字符串

    C语言判断回文字符串 #include<stdio.h> char *huiwen(char *str){int i, j,t=0;for(i = 0,j = strlen(str) - ...

  2. startsWith(),endsWith()的作用,用法,判断字符串a 是不是以字符串b开头或结尾

    Java代码   if(a.startsWith(b)) //判断字符串a 是不是以字符串b开头. Java代码   if(a.endsWith(b)) //判断字符串a 是不是以字符串b结尾. Ja ...

  3. c语言字符串中取最大字符串,使用C语言提取子字符串及判断对称子字符串最大长度...

    先来看一个使用C语言从字符串中提取子字符串的基本方法总结: #include /*处理中文字符*/ /*遍历字符串,非ASCII字符读取2个字节,ASCII读取一个字节,获取字符串长度*/ int S ...

  4. python中函数startswith的用法_Python中用startswith()函数判断字符串开头的教程

    函数:startswith() 作用:判断字符串是否以指定字符或子字符串开头 一.函数说明语法:string.startswith(str, beg=0,end=len(string)) 或strin ...

  5. python 判断字符串开头_python 怎么判断字符串开头

    函数:startswith() 作用:判断字符串是否以指定字符或子字符串开头.python学习网,大量的免费python视频教程,欢迎在线学习! 一.函数说明 语法:string.startswith ...

  6. python判断以什么开头_Python中用startswith()函数判断字符串开头的教程

    函数:startswith() 作用:判断字符串是否以指定字符或子字符串开头 一.函数说明 语法:string.startswith(str, beg=0,end=len(string)) 或stri ...

  7. c语言九三字符串的字母个数,C语言判断闰年和平年

    C语言判断闰年和平年 #includevoid fun(int year) { if((year%4==0&&year%100!=0)||(year%100==0&&y ...

  8. python获取字符串首字母_Python中用startswith()函数判断字符串开头的教程

    Python中用startswith()函数判断字符串开头的教程 函数:startswith() 作用:判断字符串是否以指定字符或子字符串开头 一.函数说明语法:string.startswith(s ...

  9. Java中字符串开头,java中如何判断字符串是以什么开头

    函数介绍: startsWith()方法用于检测字符串是否以指定的前缀开始. 语法:public boolean startsWith(String prefix, int toffset) 或pub ...

  10. python判断字符串开头_python_如何判断字符串a以某个字符串开头或结尾?

    案例: 某文件系统目录下有一系列文件: 1.c 2.py 3.java 4.sh 5.cpp ...... 编写一个程序,给其中所有的.sh文件和.py文件加上可执行权限 如何解决这个问题? 1. 先 ...

最新文章

  1. SQLSERVER存储过程基本语法使用
  2. 如何在Zynq-7000上烧写PL Image
  3. 《3+1团队》【Alpha】Scrum meeting 4
  4. Ubuntu14.04安装redis和简单配置
  5. idea集成scala插件
  6. android 先拍照后对焦,先拍照后对焦 荣耀6或搭全焦拍摄功能
  7. 如何在Windows 10的地图应用程序中获取离线地图
  8. 可网管交换机与非网管交换机的区别
  9. LeetCode 332. 重新安排行程(欧拉路径)
  10. Document API
  11. 深度可分离卷积Depthwise Separable Convolution
  12. 【硬件解码系列】之DXVA2
  13. 传智168期 day61 redis 笔记(2017年8月25日19:16:30)
  14. oracle 表空间达到32g,oracle表空间到32G后扩容
  15. USB3014-应用程序开发(2)
  16. POWER SWOT分析
  17. ST Visual Programmer(STVP)给STM8系列芯片烧录程序方法
  18. 葡萄酒逻辑回归分类(scala实现)
  19. 黑客长期摇号不中黑掉北京小客车摇号网
  20. 荣耀30sr升级鸿蒙,华为荣耀30怎么升级鸿蒙系统?

热门文章

  1. VS下报LNK1104的一种解决方法
  2. c语言停车场程序设计,停车场模拟管理程序的设计与实现,高手指教
  3. urlencode quote unquote (url 中带中文参数)
  4. OpenGL之建立三维坐标网格
  5. 13. 线性动态电路的复频域分析
  6. 【微学堂】实战为上!深入解析20个运维命令
  7. 接口测试用例设计方法方式和流程一文到底
  8. LPTSTR、LPCSTR、LPCTSTR、LPSTR之间的转换
  9. Spark分布式计算框架之SparkStreaming+kafka
  10. 这是二哈和柯基生下的宝宝?哈撒给,简直太可爱了...