C语言串 typedef char String[MaxLength + 1]
#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]相关推荐
- C语言之typedef详解
2019独角兽企业重金招聘Python工程师标准>>> typedef可以看作type define的缩写,顾名思义就是类型定义,也就是说它只是给已有的类型重新定义了一个方便使用的别 ...
- BSTR 、LPCTSTR、CString附C语言串基本操作
CString ,BSTR ,LPCTSTR之间关系和区别 CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指 ...
- 串的堆分配存储c语言,数据结构c语言串的堆分配存储源程序
<数据结构c语言串的堆分配存储源程序>由会员分享,可在线阅读,更多相关<数据结构c语言串的堆分配存储源程序(7页珍藏版)>请在人人文库网上搜索. 1.include#inclu ...
- char string 区别
由于在C++项目中,经常遇到处理字符方面的问题,故借此机会整理一下,让自己对于char , string 等有进一步的了解. 基本概念 由单引号括起来的一个字符成为char型字面值.双引号括起来的零个 ...
- 水滴石穿C语言之typedef的问题
1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等). 在编程中使用typede ...
- 灵活而奇特的C++语言特性——typedef aliases
学习了博主的<漫谈继承技术>系列博文之后,相信大家都有所收获吧!这次博主将和大家一起探讨 <灵活而奇特的C++语言特性> ,主要包括引用.常量(const).常量表达式(con ...
- MFC中char*,string和CString之间的转换
string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的: char*是从学习C语言开始就已经和我们形影不离的了,有许多API都是以char*作为参数输入的.所以熟练掌握三者之间的转换十 ...
- 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++中 ...
- C语言串的基本操作(assign,compare,concat,index,insert,delete,replace)
C语言串的基本操作 结构体用C++的String代替 代码 #include <string.h> #include <stdio.h> #include <stdlib ...
最新文章
- poj 1523(无向联通图的割点)
- nvm、node、npm的安装
- pkg-config的使用
- 海南大计算机与网络,2010-2014年海南省计算机与网络发展情况
- python比较两个文件内容是否相同_python比较两个列表是否相等的方法
- 递归 - 求数字/字符串的全排列
- Linux系统Posix异步IO接口(aio.h):aio_read,aio_write,aio_error
- axure 7.0 注册码
- 三线压力传感器原理_压力传感器接线图及原理介绍
- STM32串口驱动(拼音检索测试通过)(环形队列+内存动态分配+DMA)
- 威海市第四届ACM大赛感想
- powershell环境下的“ping”命令
- 软件测试面试题--银行面试
- 【雅思】【绿宝书错词本】List13~24
- 8-数据可视化-地图可视化
- 三轮全向底盘:运动学性能分析
- php开源 会员资料,会员详情/会员信息/用户信息
- Documentation/timers/hpet.txt
- 对数正态分布均值和方差控制着正态分布什么
- 用matlab画图像,用MATLAB画出图像的幅度和方向角的图像并画出它们的直方图
热门文章
- 【PHP 面试知识梳理】
- 【hihocoder 1499】A Box of Coins
- thinkphp框架的优缺点
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
- oracle中的数据读取与查找
- UML学习笔记(一):UML简介
- java名称服务_java – UnknownHostException:名称或服务未知
- 晨风机器人对接php_php封装实现钉钉机器人报警接口的示例代码
- python 调用另一个py_Python打包:setuptools与setup.py/.cfg入门简介
- 数据分析常用的python包_量化投资数据分析之常用的python包(附代码)