#include<stdio.h>
#include<stdlib.h>
#include<string.h>typedef char String[250];/*  0索引号单元存放串的长度 */void setString(String str, char *chs)
{str[0] = strlen(chs);int i;for(i=1;i<=str[0];i++)str[i] = *(chs+i-1);
}void copyString(String in, String out)
{int i;for(i=0;i<=in[0];i++)out[i] = in[i];
}
/*  字符串比较 */
int cmpString(String a, String b)
{int i;for(i=0;i<=a[0]&&i<=b[0];i++){if(a[i] != b[i])return 0;}return i-1;
}
/* 用T返回S1和S2联接而成的新串*/
void catString(String a, String b, String c)
{c[0] = a[0]+b[0];int i;for(i = 1;i<=a[0];i++)c[i] = a[i];for(i = 1;i<=c[0];i++)c[i+a[0]] = b[i];
}
void showString(String a)
{printf("show:");int i;for (i=1;i<=a[0];i++)printf("%c",a[i]);printf("\n");
}
/* 用Sub返回串S的第pos个字符起长度为len的子串。 */
void subString(String a, String b, int index, int length)
{if(index<1||index>a[0]||length<=0||length>index+a[0]){b[0] = 0;return;}else{b[0] = length;int i;for(i=1;i<=length;i++){b[i] = a[index+i];}}
}int main(int argc, char*argv[])
{String a;setString(a,"rong");showString(a);String b;setString(b,"tao12321v");showString(b);String c;catString(a,b,c);showString(c);String d;subString(c,d,3,3);showString(d);return 0;
}

结果:

-bash-4.1$ gcc -o a Demo.c
-bash-4.1$ ./a
show:rong
show:tao12321v
show:rongtao12321v
show:gta
-bash-4.1$

C语言串 typedef char String[MaxLength + 1]相关推荐

  1. C语言之typedef详解

    2019独角兽企业重金招聘Python工程师标准>>> typedef可以看作type define的缩写,顾名思义就是类型定义,也就是说它只是给已有的类型重新定义了一个方便使用的别 ...

  2. BSTR 、LPCTSTR、CString附C语言串基本操作

    CString ,BSTR ,LPCTSTR之间关系和区别 CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指 ...

  3. 串的堆分配存储c语言,数据结构c语言串的堆分配存储源程序

    <数据结构c语言串的堆分配存储源程序>由会员分享,可在线阅读,更多相关<数据结构c语言串的堆分配存储源程序(7页珍藏版)>请在人人文库网上搜索. 1.include#inclu ...

  4. char string 区别

    由于在C++项目中,经常遇到处理字符方面的问题,故借此机会整理一下,让自己对于char , string 等有进一步的了解. 基本概念 由单引号括起来的一个字符成为char型字面值.双引号括起来的零个 ...

  5. 水滴石穿C语言之typedef的问题

    1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等). 在编程中使用typede ...

  6. 灵活而奇特的C++语言特性——typedef aliases

    学习了博主的<漫谈继承技术>系列博文之后,相信大家都有所收获吧!这次博主将和大家一起探讨 <灵活而奇特的C++语言特性> ,主要包括引用.常量(const).常量表达式(con ...

  7. MFC中char*,string和CString之间的转换

    string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的: char*是从学习C语言开始就已经和我们形影不离的了,有许多API都是以char*作为参数输入的.所以熟练掌握三者之间的转换十 ...

  8. C++自学07:字符串(char/string/wchar_t/char16_t/char32_t)

    示例:字符串abc转换成ab6 char name[] = "abc"; name[2]=char(6+48);//48是ascii表中,char和int看起来相等的差值 C++中 ...

  9. C语言串的基本操作(assign,compare,concat,index,insert,delete,replace)

    C语言串的基本操作 结构体用C++的String代替 代码 #include <string.h> #include <stdio.h> #include <stdlib ...

最新文章

  1. poj 1523(无向联通图的割点)
  2. nvm、node、npm的安装
  3. pkg-config的使用
  4. 海南大计算机与网络,2010-2014年海南省计算机与网络发展情况
  5. python比较两个文件内容是否相同_python比较两个列表是否相等的方法
  6. 递归 - 求数字/字符串的全排列
  7. Linux系统Posix异步IO接口(aio.h):aio_read,aio_write,aio_error
  8. axure 7.0 注册码
  9. 三线压力传感器原理_压力传感器接线图及原理介绍
  10. STM32串口驱动(拼音检索测试通过)(环形队列+内存动态分配+DMA)
  11. 威海市第四届ACM大赛感想
  12. powershell环境下的“ping”命令
  13. 软件测试面试题--银行面试
  14. 【雅思】【绿宝书错词本】List13~24
  15. 8-数据可视化-地图可视化
  16. 三轮全向底盘:运动学性能分析
  17. php开源 会员资料,会员详情/会员信息/用户信息
  18. Documentation/timers/hpet.txt
  19. 对数正态分布均值和方差控制着正态分布什么
  20. 用matlab画图像,用MATLAB画出图像的幅度和方向角的图像并画出它们的直方图

热门文章

  1. 【PHP 面试知识梳理】
  2. 【hihocoder 1499】A Box of Coins
  3. thinkphp框架的优缺点
  4. Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
  5. oracle中的数据读取与查找
  6. UML学习笔记(一):UML简介
  7. java名称服务_java – UnknownHostException:名称或服务未知
  8. 晨风机器人对接php_php封装实现钉钉机器人报警接口的示例代码
  9. python 调用另一个py_Python打包:setuptools与setup.py/.cfg入门简介
  10. 数据分析常用的python包_量化投资数据分析之常用的python包(附代码)