C语言ctype.h字符函数和字符串
ctype.h存的是与字符相关的函数;
这些函数虽然不能处理整个字符串,但是可以处理字符串中的字符;
ToUpper()函数,利用toupper()函数处理字符串中的每个字符,转换成大写;
PunctCount()函数,利用ispunct()统计字符串中的标点符号个数;
使用strchr()处理fgets()读入字符串的换行符;这样处理没有把缓冲区的剩余字符清空,所以仅适合只有一条输入语句的情况。s_gets()适合处理多条输入语句的情况。
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define LIMIT 81 void ToUpper(char *);
int PunctCount(const char *); int main(void)
{
char line[LIMIT];
char * find; puts("Please enter a line:");
fgets(line,LIMIT,stdin);
find = strchr(line, '\n');
if(find)
*find ='\0';
ToUpper(line);
puts(line);
printf("That line has %d punctuation characters.\n",PunctCount(line)); return ;
} void ToUpper(char * str)
{
while(*str)
{
*str =toupper(*str);
str++;
}
} int PunctCount(const char * str)
{
int ct =;
while(*str)
{
if(ispunct(*str))
ct++;
str++;
} return ct;
}
C语言ctype.h字符函数和字符串的更多相关文章
- Swift3.0语言教程查找字符集和子字符串
Swift3.0语言教程查找字符集和子字符串 Swift3.0语言教程查找字符集和子字符串,在字符串中当字符内容很多时,我们就需要使用到查找字符集或者子字符串的方法.以下我们将讲解3种查找字符集和子字 ...
- c语言中的字符数组与字符串
1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y ...
- [日常] C语言中的字符数组和字符串
c语言字符数组和字符串:1.存放字符的数组称为字符数组 char str[]2.'\0'也被称为字符串结束标志3.由" "包围的字符串会自动在末尾添加'\0'4.逐个字符地给数组赋 ...
- C语言中的字符数组和字符串
在C语言中,没有字符串类型,但是可以通过字符数组来模拟字符串. 字符串可以在栈上,堆上,静态区和常量区进行分配. char buf[50] = "abc"; char buf[] ...
- ctype.h 字符分类与转换
函数及说明 1 int isalnum(int c)该函数检查传递的字符是否是字母数字. 2 int isalpha(int c)该函数是否传递的字符是字母. 3 int iscntrl(int ...
- C语言string.h常用函数总结
void *memcpy(void *dest, const void *src, size_t n); 从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中. ...
- 关于c语言中的字符数组和字符串指针
先看代码: #include <stdio.h> int main(void) { ] = "; char * strTmp = "abcdefg"; int ...
- C语言strrev()函数:字符串逆置(倒序、逆序)
头文件:#include<string.h> strrev()函数将字符串逆置,其原型为: char *strrev(char *str); [参数说明]str为要逆置的字符串. s ...
- C语言博客作业—函数嵌套调用
一.实验作业 1.1 PTA题目:递归法对任意10个数据按降序排序 1.1.1设计思路 void sort(int a[],int n) { 定义整型循环变量i,中间变量temp,最小值min: 令m ...
随机推荐
- c++ vector用法和迭代器
1.在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. (1)头文件#include<vector>. (2)创建vector对象,vector<int> ...
- fluent仿真数值错误
- CheckBoxJS选中与反选得到Value
function XuanZe(val) { datastr = $("#hid_AID").val(); var newstr = ""; ...
- js 中的apply
之一------(函数的劫持与对象的复制)关于对象的继承,一般的做法是用复制法: Object.extend 见protpotype.js 的实现方法: Object.extend = functio ...
- cocos2d-x坐标系详解
cocos2d-x官方文档 笛卡尔坐标系 不同坐标系简介 笛卡尔坐标系 你可能上学的时候就已经知道“笛卡尔坐标系”了,它在几何课本里经常用到.如果你已经忘得差不多了,下面这些图片可以很快唤起你的记忆: ...
- IFC—IfcProduct实体继承框架
- Excel VBA 若要在64位系统上使用,则必须更新此项目中的代码,请检查并更新Declare语句,然后用PtrSafe属性标记它们
在Office 2010 32位上开发的Excel VBA系统,迁移到Office 2010 64位下面,打开后使用,报下面错误: 解决办法: 在Declare 后面加PtrSafe 进行标记
- 校园客户端(DR)启动后提示我们缺失packet.dll,无法正常启动(7)
有的时候校园客户端(DR)启动后提示我们缺失packet.dll,无法正常启动,然而我们重装了客户端后任然不感冒,那么问题来了,问题解决不了往往源于我们对问题的本质不够了解,如果了解问题的本质,那么问 ...
- c++正确处理 is-a has-a关系
比如.我们想实现一个Set类,而已经有一个List类可提供给你使用,我们到底用is-a(public继承)关系还是用has-a(组合)关系呢? 1:如果使用is-a关系,则 class Set:pub ...
- VSTO的简单用法
一直听说vsto这个名词,还真不知道什么意思,今天了解了一下,原来他的全程是Visual Studio Tools For Office,说他是VBA的替身(VBA俺也不是很懂),刚才上网查询做了个例 ...