C库函数详解(二)

3.输入输出函数

凡用以下的输入输出函数,应该使用#include把stdio.h头文件包含到源程序文件中。

函数名

函数原型

功 能

返回值

包含文件

clearerr

void clearerr(FILE*fp);

使fp所指文件的错误,标志和文件结束标志置0。

close

int close (int fp):

关闭文件。

关闭成功返回0,

不成功,返回一1。

非ANSI标准

creat

int creat ( char filename,int mode);

以mode所指定的方式建立文件。

成功则返回正数,否则返回一1.

非ANSI标准

eof

inteof (int fd);

检查文件是否结束。

遇文件结束,返回1:否则返回0。

非ANSI标准

fclose

int fclose (FILE fp);

关闭fp所指的文件,释放文件缓冲区。

有错则返回非0,否则返回0.

feof

int feof(FILE fp);

检查文件是否结束。

遇文件结束符返回非零值,否则返回0。

fgete

int fgetc (FILE* fp);

从fp所指定的文件中取得下一个字符。

返回所得到的字符。若读人出错,返回EOF。

fgets

char*fgets(char*buf,

int n, FILE*fp);

从fp指向的文件读取一个长度为(n-1)的字符串,存人起始地址为buf的空间。

返回地址 buf,若遇文件结束或出错,返回NULL.

fopen

FILE*fopen(char * filename,char* mode);

以mode指定的方式打开名为filename 的文件。

成功,返回一个文件指针(文件信息区的起始地址),否则返回0.

fprintf

int fprintf(FILE *fp, char* format,args....);

把args 的值以format指定的格式输出到fp所指定的文件中。

实际输出的字符数

fputc

int fputc(char ch,FILE *fp);

将字符 ch 输出到fp指向的文件中。

成功,则返回该字符:否则返回非0.

fputs

Int fputs ( char*str,FILE *fp);

将str 指向的字符串输出到fp所指定的文件。

返回0.若出错返回非0。

fread

int fread (char *pt,unsigned size,unsigned n,FILE* fp);

从fp所指定的文件中读取长度为size的n个数据项,存到pt 所指向的内存区

返回所读的数据项个数,如遇文件结束或出错返回0.

fscanf

int fscanf (FILE* fp, char format, args,...);

从fp指定的文件中按format给定的格式将输入数据送到args所指向的内存单元(args是指针)。

已输入的数据个数。

fseek

int fseek(FILE*fp,long offset, int base);

将fp所指向的文件的位置指针移到以 base所指出的位置为基准、以offset为位移量的位置。

返回当前位置,否则,返回-1。

fell

long ftell(FILE*fp);

返回fp所指向的文件中的读写位置

返回fp所指向的文件中的读写位置。

fwrite

Int fwrite(char* ptr,unsigned size,unsigned n,FILE*fp);

把 ptr所指向的n*size 个字节输出到fp所指向的文件中

写到fp文的数据项的个数。

getc

int getc (FILE*fp);

从fp所指向的文件中读入一个字符。

返回所读的字符,若文件结束或出错,返回EOF.

getchar

 int getchar(void);

从标准输入设备读取下一个字符

所读字符,若文件结束或出错,则返回-1.

getw

int getw (FILE*fp);

从fp所指向的文件读取下一个字(整数)。

输入的整数,如文件结束或出错,返回-1.

非ANSI标准函数

open

int open (char. filename. int mode);

以mode 指出的方式打开已存在的名为filename的文件。

返回文件号(正数),如打开失败,返回-1.

非ANSI标准函数

printf

Int printf (char*format,args,...);

按format指向的格式字符串所规定的格式,将输出表列args的值输出到标准输出设备。

输出字符的个数,若出错,返回负数。

format可以是一个字符串,或字符数组的起始地址

putc 

int putc ( int ch, FILE *fp);

把一个字符ch 输出到fp所指的文件中。

输出的字符ch。若出错,返回EOF.

putchar

int putchar ( char ch);

把字符ch输出到标准输出设备

输出的字符ch。若出错,返回EOF.

puts

int puts ( char* str);

把 str指向的字符串输出到标准输出设备,将'\0’转换为回车换行。

返回换行符,若失败,返回EOF.

putw

int putw(int w,FILE*fp);

将一个整数 w(即一个字)写到fp指向的文件中。

返回输出的整数。若出错,返回EOF。

非ANSI标准函数

read

int read (int fd, char* buf, unsigned count);

从文件号fd所指示的文件中读 count 个字节到由buf指示的缓冲区中。

返回真正读入的字节个数。如遇文件结束返回0,出错返回-1。

非ANSI标准函数

rename

int rename (char*oldname,char*newname);

把由 oldname所指的文件名,改为由newname所指的文件名。

成功返回0,

出错返回一1。

rewind

void rewind (FILE*fp);

将fp指示的文件中的位置指针置于文件开头位置,并清除文件结束标志和错误标志。

scanf  

Int scanf (char*format,args,...);

从标准输入设备按format指向的格式字符串所规定的格式,输入数据给args所指向的单元。

读入并赋给args的数针。遇文件结束返回EOF,出错返回0.

args为指针.

int write (int fd,char * buf, unsigned count);

从 buf 指示的缓冲区输出count 个字符到fd所标志的文件中。

返回实际输出的字节数。如出错返回一1。

非ANSI标准函数

4.动态存储分配函数

ANSI标准建议设4个有关的动态存储分配的函数,即calloc()、malloc()、free()、realloc()。实际上,许多C编译系统实现时,往往增加了一些其他函数。ANSI标准建议在“stdlib.h”头文件中包含有关的信息,但许多C编译要求用“malloc.h”而不是"stdlib.h”。

ANSI标准要求动态分配系统返回void指针。void 指针具有一般性,它们可以指向任何类型的数据。但目前有的C编译所提供的这类函数返回char 指针。无论以上两种情况的哪一种,都需要用强制类型转换的方法把void 或char指针转换成所需的类型。

函数名

函数原型

功 能

返回值

calloc

void* calloc (unsigned n,unsigned size);

分配n个数据项的内存连续空间,每个数据项的大小为size。

分配内存单元的起始地址。如不成功,返回0。

free

void free(void *p);

释放p所指的内存区。

malloc

void * malloc ( unsigned size);

分配 size 字节的存储区。

所分配的内存区起始地址,如内存不够,返回0。

realloc

void* realloc ( void *p,unsigned size );

将p所指出的已分配内存区的大小改为size.size可以比原来分配的空间大或小。

返回指向该内存区的指针。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

切换IP地址的软件的基本原理及相关知识

在数字化时代,IP地址作为网络设备的唯一标识,扮演着至关重要的角色。然而,在某些特定情况下,我们可能需要隐藏或更改自己的IP地址,以保护隐私、突破地域限制或进行网络测试等。这时,切换IP地址的软件就显得…

Harmony创建Page省事小技巧

在创建Page页面时,选择ArkTS File时,创建的文件不会自动生成基础代码,也不会自动在main_page.json中自动进行注册,如何解决问题呢,其实很简单创建Page页面时选择Page项后就会创建Page文件,创建完的页面会自…

放弃“颜值”,15年的美图开始拼“生产力”

文|郝 鑫 “美图是一家AI公司”,美图在2023年财报的一开头就迫不及待地重申了自己的“新身份”。 这背后源于美图去年到现在对AIGC的一连串疯狂押注。 2023年6月,美图一口气发布了美图视觉大模型MiracleVision和六款AI产品,…

【bug解决】C++调用python库不能重复调用的问题解决

项目场景: 使用C调用Python环境中的代码,其中Python的代码已经封装在site-pages目录下。 问题描述 在使用C进行调用时,在C程序的运行过程中,只能调用一次Python代码,反复调用就会失败。 原因分析: 在py…

MCFrame中设置了按钮,但标签文字不能正常显示为设置的文字

可能是id属性出现了问题,注意id与name是一个类似的东西,都是唯一标识

护眼灯值不值得买?业界公认的护眼台灯十大排名盘点

在这个信息爆炸的时代,用眼时间不断延长,长时间用眼不仅易导致视觉疲劳,还可能对视力健康造成长远影响。因此,除了适时休息,确保所处光线环境健康同样重要。然而,灯光环境往往不尽如人意。此时,…

状态压缩DP

哈密顿路径问题: 一般设 表示 状态下,为最后一个最值情况 。 一般有两种稍微不同的写法,单纯就是写法不同,思路方法都相同。 第一个例题为第一种转移方法,有当前转移后面。 后面的都是由前面转移目前。 G. Shuff…

js中this指向以及改变this指向方法

js中this指向以及改变this指向方法 this指向 1、在构造函数中this指向实例化对象 2、在自定义对象的函数(方法)中this指向当前的对象 3、在普通函数中this指向window 4、在事件函数中this指向事件源 5、在定时器函数中this指向window 6、原型对象…

是谁?写的Java神作一出版就获Jolt图书大奖【抽奖赠书】

送书活动 1️⃣参与方式:点此参与抽书抽奖 2️⃣获奖方式:小程序随机 抽5位,每位小伙伴一本《Effective Java中文2024版》 3️⃣活动时间:截止到 2024-4-6 12:01:00 注:所有抽奖活动都是全国范围免费包邮到家&#xff…

Unity类银河恶魔城学习记录11-15 p117 Ice and Fire item Effect源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili IceAndFire_Controller.cs using System.Collections; using System.Coll…

MP4文件中h264的 SPS、PPS获取

MP4文件中h264的SPS、PPS获取 如下图所示,为avcC 1 【参考依据】ISO/IEC 14496-15 2 【综述】在H264中,SPS和PPS存在于NALU header中,而在MP4文件中,SPS和PPS存在于AVCDecoderConfigurationRecord, 首先要定位avcC. …

Ant Design Vue中的table与pagination的联合使用

效果&#xff1a; 代码&#xff1a; <a-table:dataSource"dataSource":columns"columns":pagination"pagination"change"handleTableChange":scroll"{ x: 100%, y: 600 }"> </a-table> export default defin…

基于springboot实现定时任务,并且添加Event事件处理机制

1、基于Spring-Event增加事件处理机制 import org.bson.Document; import org.springframework.context.ApplicationEvent;/*** 基于Spring-Event增加事件处理机制* create: 2024/4/1-13:33*/ public class SysProductConfigEvent extends ApplicationEvent {// 数据配置priv…

MetaGPT教程学习笔记

官方文档&#xff1a; MetaGPT: 多智能体框架 | MetaGPT 学习手册及教程&#xff1a; Docs Docs 第一章 前期准备 安装提供了两种方式&#xff0c;pip和github安装包。 配置也提供了两种方式&#xff0c;执行命令或在config.yaml中修改&#xff0c;需提前获取API key。 …

kubernetes-Pod基于污点、容忍度、亲和性的多种调度策略(二)

Pod调度策略 一.污点-Taint二.容忍度-Tolerations三.Pod常见状态和重启策略1.Pod常见状态2.Pod的重启策略2.1测试Always重启策略2.2测试Never重启策略2.3测试OnFailure重启策略&#xff08;生产环境中常用&#xff09; 一.污点-Taint 在 Kubernetes 中&#xff0c;污点&#x…

基于R、Python的Copula变量相关性分析及AI大模型应用

在工程、水文和金融等各学科的研究中&#xff0c;总是会遇到很多变量&#xff0c;研究这些相互纠缠的变量间的相关关系是各学科的研究的重点。虽然皮尔逊相关、秩相关等相关系数提供了变量间相关关系的粗略结果&#xff0c;但这些系数都存在着无法克服的困难。例如&#xff0c;…

智能电销机器人的功能体现

随着科技的不断发展&#xff0c;人工智能&#xff08;AI&#xff09;已经深入到各个行业&#xff0c;其中智能电销机器人更是成为电销行业不可或缺的一部分。智能电销机器人采用先进的语音识别和自然语言处理技术&#xff0c;能够实现自动拨打、语音交互、数据记录等功能&#…

Nginx在Kubernetes集群中的进阶应用

简介 在现代DevOps环境中&#xff0c;Nginx作为负载均衡器与Kubernetes的Ingress资源的结合&#xff0c;为应用程序提供了强大的路由和安全解决方案。本文将深入探讨如何利用Nginx的灵活性和功能&#xff0c;实现高效、安全的外部访问控制&#xff0c;以及如何配置Ingress以优…

【MySQL】数据类型(1)

数据类型1 一、整形数据二、位图类型三、浮点类型 一、整形数据 我们的MySQL&#xff0c;有很多的数据类型&#xff0c;其中&#xff0c;我们在建表时&#xff0c;肯定要用到相应的数据类型。 整形有 tinyint, samllint , mediumint, int, bigint。 我们第一眼看上去&#x…

uniapp通过蓝牙传输数据 (安卓)

在uni-app中&#xff0c;可以通过原生插件的方式来实现蓝牙传输数据的功能。以下是一般的步骤&#xff1a; 1. 创建一个原生插件 在uni-app项目的根目录下&#xff0c;创建一个原生插件的目录&#xff0c;比如"uni-bluetooth"。然后在该目录下创建一个"Androi…