扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
C语言输入输出函数有很多,bai标准I/O函数du中包含了如下几个常用的函数:
创新互联专业为企业提供茂南网站建设、茂南做网站、茂南网站设计、茂南网站制作等企业网站建设、网页设计与制作、茂南企业网站模板建站服务,十余年茂南做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int scanf(const char *format, arg_list)
scanf主要从标准zhi输入流中获取dao参数值,format为指定的参数格式及参数类型,如scanf("%s,%d",str,icount);
它要求在标准输入流中输入类似"son of bitch,1000"这样的字符串,同时程序会将"son of bitch"给str,1000给icount.
scanf函数的返回值为int值,即成功赋值的个数,在上例中如果函数调用成功,则会返回2,所以我们在写程序时,可以通过
语句if(scanf("%s,%d",str,icount) != 2){...}来判断用户输入是否正确.
int printf(const char *format, arg_list)
printf主要是将格式化字符串输出到标准输出流中,在stdio.h头文件中定义了标准的输入和输出,分别是stdin,stdout.
arg_list可以是变量名,也可以是表达式,但最终都会以值的形式填充进format中.
int getc(FILE *fp)
getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为:(ch = getc(fp)) != EOF.EOF为文件结束标志,
定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp为stdin
时,getc(stdin)就等同于getchar()了.
int putc(int ch,FILE *fp)
putc主要是把字符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.
int getchar(void)
getchar主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h中定义的stdin.但是从输入流中读取字符时又
涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符
串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符.当然也可以在while循环中指定终止字符,如下面的语句:
while ((c = getchar()) != '#')这是以#来结束的.
int putchar(int ch)
putchar(ch)主要是把字符ch写到标准流stdout中去.
char * gets(char *str)
gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去.
int puts(char *str)
puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.
char *fgets(char *str, int num, FILE *fp)
str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符,该行的字符数
不大于num-1.因为fgets函数会在末尾加上一个空字符以构成一个字符串.另外fgets在读取到换行符后不会将其省略.
int fputs(char *str, file *fp)
fputs将str写入fp.fputs与puts的不同之处是fputs在打印时并不添加换行符.
int fgetc(FILE *fp)
fgetc从fp的当前位置读取一个字符.
int fputc(int ch, file *fp)
fputc是将ch写入fp当前指定位置.
int fscanf(FILE *fp, char *format,...)
fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中.
int fprintf(FILE *fp, char *format,...)
fprintf将格式化数据写入流式文件中.
你可以用数组,也可以用链表来保存.
如果没有通过文件的形式来保存的话,就试用内存来保存好了,这样上面所说的数组,和和链表是不错的选择.
不过有个缺点,就是在下次启动的时候不能读取上次存入的数据,除了程序编译时生成的以外都不会保存.
如果想保存,最好就通过文件的形式来保存,即吧新加入的数据放进一个文件里面,修改的会修改相应的数据,删除也是同理,管理数据方面,建议使用数据库.
Turbo C 2.0标准库提供了两个控制台格式化输入、输出函数 scanf();和printf();这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。scanf()函数用来从标准输入设备(键盘)上读数据,printf()函数用来向标准输出设备(屏幕)写数据。下面详细介绍这两个函数的用法。
1.标准输入语句
scanf()函数是格式化输入函数,它从标准输入设备(键盘)读取输入的信息。其调用格式为:scanf(<格式化字符串>,<地址表>);
格式化字符串包括以下三类不同的字符;
(1).空白字符:空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。
(2).非空白字符:一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。
(3).格式化说明符:以%开始,后跟一个或几个规定字符,用来确定输出内容格式。
是取地址,scanf读取变量的时候,参数需要的是变量的实际内存地址。
与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include stdio.h。
在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include stdio.h。是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
扩展资料:
对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上""操作符。
可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。scanf函数中没有类似printf的精度控制。如: scanf("%5.2f",a); 是非法的。不能企图用此语句输入小数为2位的实数。
scanf中要求给出变量地址,如给出变量名则会出错,如 scanf("%d",a);是非法的,应改为scanf("%d",a);才是合法的。
它的作用是从标准输入设备(默认设备是键盘),按格式定义,有格式地输入一个或多个变量。头文件名为 stdio.h
要 #include stdio.h
C语言标准库函数存放在头文件当中,使用相应函数时需要用include引用先关头文件。
C语言程序设计里,C 标准函数(C Standard library)是所有目前符合标准的头文件(head
file)的集合,以及常用的函数库实现程序,例如 I/O输入输出和字串符控制。不像 COBOL、Forrian和 PL/I等编程语言,在 C
语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来创建的。
下面列出C89及C99中C语言标准函数库的头文件。
C89中标准的头文件
assert.h 设定断言点
ctype.h 字符处理
errno.h 错误报告
float.h 定义与实现相关的浮点值勤
limits.h 定义与实现相关的各种极限值
locale.h 支持函数setlocale()
math.h 数学函数库使用的各种定义
setjmp.h 支持非局部跳转
signal.h 定义信号值
stdarg.h 支持可变长度的变元列表
stddef.h 定义常用常数
stdio.h 支持文件输入和输出
stdlib.h 其他各种声明
string.h 支持串函数
time.h 支持系统时间函数
C99新增的头文件和库
complex.h 支持复数算法
fenv.h 给出对浮点状态标记和浮点环境的其他方面的访问
inttypes.h 定义标准的、可移植的整型类型集合。也支持处理最大宽度整数的函数
iso646.h 首先在此1995年第一次修订时引进,用于定义对应各种运算符的宏
stdbool.h 支持布尔数据类型类型。定义宏bool,以便兼容于C++
stdint.h 定义标准的、可移植的整型类型集合。该文件包含在inttypes.h中
tgmath.h 定义一般类型的浮点宏
wchar.h 首先在1995年第一次修订时引进,用于支持多字节和宽字节函数
wctype.h 首先在1995年第一次修订时引进,用于支持多字节和宽字节分类函数
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流