标C编程笔记day07 常用标准库介绍、字符串输入处理、字符指针的使用

常用标准库:

assert.h:断言,包含assert宏。可以进行自我检查

ctype.h:字符处理,字符的分类,大小转换

errno.h:错误信息处理

float.h:浮点数特性

limits.h:整数的大小,提供了描述整数类型的宏

lcale.h:本地化

math.h:数学函数

setjmp.h:跳转

signal.h:信号处理

stdarg.h:可变长参数处理

stddef.h:经常使用的类型的定义

stdio.h:输入输出

string.h:字符串处理

stdlib.h:其他函数,字符串,数字,产生随机数,内存管理,系统通信,搜索排序等

time.h:时间和日期处理

stdbool.h:布尔类型和数值

指针与数值间转换:

void ( p=NULL;

int num=8;

p=#

int a=*((int *)p);

计算机中,使用字符串第一个字符的地址表示整个字符串(char *).

多个相同的字符串在运行时是同一个(地址)。

多个字符串可直接写在一起,不需要strcat连接,如:char * pstr="123""456";

只有包含‘\0‘的字符数组,才能当成字符串用。

char str[]="abcde";//包含6个字符,最后一个是‘\0‘,ascll码是 0.

字符串函数:strlen/strcat/strcmp/strncmp/strcpy/strncpy

输入字符串处理,自动去掉多余的输入:

char s[50]={0};

fgets(s,50,stdin);

if(strlen(s)==49&&s[48]!=‘\n‘&& s[49]==‘\0‘)

{

scanf("%*[^\n]");scanf("%*c");

}

fgets():长度为(字符串位数-1),字符为:(字符少时)内容+"\n\0" 或:(字符多时)内容+"\0"。

指针操作字符串:

char * str[50]="10\020\030\040\050\0";

char * pstr[5]={0};

pstr[0]=str;

pstr[1]=str+3;

pstr[2]=str+6;

pstr[3]=str+9;

pstr[4]=str+12;

char c=*(pstr[0]);//c的值为:‘1‘

printf("%s",pstr[0]);//输出:10

标C编程笔记day07 常用标准库介绍、字符串输入处理、字符指针的使用

时间: 2024-12-17 05:45:30

标C编程笔记day07 常用标准库介绍、字符串输入处理、字符指针的使用的相关文章

python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列

标准库:一些最爱 集合.堆和双端队列 集合 集合Set类位于sets模块中. >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> set(range(10)) set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 集合是由序列(或其他可迭代的对象)构建的.主要用于检查成员资格,因此,副本是被忽略的: >>> range(10)*2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9

标C编程笔记day08~day10代码规范、编译、库函数、命名空间、函数调用、哑元函数

代码编写规范,命令行编译,库函数简介,命名空间介绍,函数调用介绍,哑元函数介绍 一般来说,有.c实现文件,应该都要有.h头文件,.c文件中的所有函数都应该在.h文件中声明. 命令行编译方法: 1.gcc 后面带所有.c 文件 -o 输出文件名   直接生成可执行文件 2.依次gcc -c .c文件  -o ***.o  生成***.o文件 然后 gcc 所有.o文件 -o 输出文件   生成可执行文件 程序中的静态全局变量不可以被其他文件中的语句使用. .c文件使用.h文件中的全局变量:exte

C++MFC编程笔记day07 MFC的文件操作、序列化和保存

一 MFC的文件操作 1 相关类 CFile类-封装了文件句柄以及操作文件的API函数. CFileFind类-提供文件查找功能. 2 CFile类的使用 2.1 打开或者新建文件 CFile::Open 2.2 文件读写 注意:1 文件指针位置 2 异常处理 CFile::Write CFile::Read CFile::SeekToBegin 2.3 关闭文件 CFile::Close 2.4 设置/获取文件属性 CFile::SetStatus/GetStatus 3 CFileFind类

Go语言开发(十三)、Go语言常用标准库三

Go语言开发(十三).Go语言常用标准库三 一.sync 1.sync简介 sync提供基本的同步原语,如sync.Mutex,sync.RWMutex,sync.Once,sync.Cond,sync.Waitgroup,除了Once和WaitGroup类型外,大多数类型都供低级库使用.Go语言中,不要通过共享内存通信,而要通过通信共享内存,通过Channel和沟通可以更好地完成更高级别的同步. type Locker interface { Lock() Unlock() } Locker提

C++MFC编程笔记day07 MFC单文档绘图保存、多文档绘图保存

完善绘图例子(day06中的),加上保存功能 1 设计和编写图形类 CShape 1.1 成员变量 CPoint m_ptBegin; CPoint m_ptEnd; UINT m_nType; 1.2 支持序列化 1.2.1 继承自CObject 1.2.2 添加序列化的声明宏和实现宏 1.2.3 重写虚函数Serilize(),在函数中,完成成员变量的序列化 2 由于保存多个图形,引入MFC的集合类CObArray,保存的是CObject 对象的地址. 3 图形数据需要保存到文档类中,在该类

python基础教程_学习笔记15:标准库:一些最爱——fileinput

标准库:一些最爱 fileinput 重要的函数 函数 描述 input([files[,inplace[,backup]]) 便于遍历多个输入流中的行 filename() 返回当前文件的名称 lineno() 返回当前(累计)的名称 filelineno() 返回当前文件的行数 isfirstline() 检查当前行是否是文件的第一行 isstdin() 检查最后一行是否来自sys.stdin nextfile() 关闭当前文件,移动到下一个文件 close() 关闭序列 fileinput

python基础教程_学习笔记16:标准库:一些最爱——random

标准库:一些最爱 random random模块包括返回随机数的函数,可以用于模拟或者用于任何产生随机输出的程序. 事实上,所产生的数字都是伪随机数,它们以一个可预测的系统作为基础,除非是为了强加密的目标,否则这些随机数还是足够随机的.如果真的需要随机性,可以使用os模块的urandom函数. 重要函数 函数 描述 random() 返回0<=n<1之间的随机实数n,其中0<n<=1 getrandbits(n) 以长整型形式返回n个随机位(二进制数) uniform(a,b) 返

python基础教程_学习笔记17:标准库:一些最爱——time

标准库:一些最爱 time time模块所包含的函数能够实现以下功能: 获取当前时间.操作系统时间和日期.从字符串读取时间以及格式化时间为字符串. 日期可以用实数(从"新纪元"的1月1日0点开始计算到现在的秒数,新纪元是一个与平台相关的年份,对unix来说是1970年),或者是包含有9个整数的元组. 日期元组的字段含义 如元组: (2008,1,21,12,2,56,0,21,0) 表示2008年1月21日12时2分56秒,星期一,且是当年的第21天(无夏令时). 索引 字段 值 0

python基础教程_学习笔记14:标准库:一些最爱——re

标准库:一些最爱 re re模块包含对正则表达式的支持,因为曾经系统学习过正则表达式,所以基础内容略过,直接看python对于正则表达式的支持. 正则表达式的学习,见<Mastering Regular Expressions>(精通正则表达式) re模块的内容 最重要的一些函数 函数 描述 compile(pattern[,flags]) 根据包含正则表达式的字符串创建模式对象 search(pattern,string[,flags]) 在字符串中寻找模式 match(pattern,st