标准io及用法

一、libc.so 是 C 标准库(C Standard Library)的一个动态链接库版本。它包含了 C 语言标准库中定义的函数和功能,这些函数和功能是几乎所有 C 语言程序的基础。

1. C 标准库:•libc.so 实现了 C 语言标准库的函数,如 printf(), malloc(), open(), read(), write() 等。•这些函数为程序提供了与系统交互的能力,包括文件操作、内存分配、输入输出等。2. 动态链接:•libc.so 是一个动态链接库,这意味着它可以被多个程序共享。•当一个程序运行时,它需要的 libc.so 函数会被加载到内存中,这样可以减少内存占用并提高性能。

二、"流指针"(stream pointer)在 C 语言中通常指的是指向 FILE 结构的指针,它是用于处理文件输入输出的标准库中的一个概念。在 C 语言中,文件输入输出通常通过 stdio.h 头文件中的函数来实现,这些函数使用 FILE 结构体来表示文件流。FILE 结构体:FILE 结构体是 C 语言标准库中用于表示文件流的数据结构。它包含了文件的各种状态信息,如当前读写位置、文件是否打开、文件的状态等。FILE 结构体的定义是不透明的,这意味着它的内部结构对用户来说是隐藏的,用户只能通过标准库提供的函数来操作 FILE 结构体。

文本对照工具

改颜色

argv[1]=*(argv+1)  !=(*argv)+1//因为在字符串常量区不一定是连续的

三、

从硬盘读取到内存中查看

fgets遇到\n会停止 ,\0也要占size,遇到\0也停止,一般就能写入size-1

四、memset(buf,0sizeof(buf))内存区域清零

memset 是 C 语言标准库中的一个函数,用于将一块内存区域的所有字节设置为同一个值。它通常用于初始化内存区域或清除内存中的数据。

fgets取时是一行一行取

以二进制数据流查看

五、stdin,stdout,stderr

以二进制位清空

num代表有几个结构体

六、文件操作的步骤,
1,打开->> FILE * fp 
2,读写
3,关闭

函数,参数比较多,man手册
fopen,fclose
fgetc,fputc,
getc / putc / getchar / putchar / fgetc / fputc
gets / puts / fgets / fputs 

fread / fwrite 

    
七、fputc
int fputc(int c, FILE *stream);
功能:
    向流中写入一个字符
参数:
    c:要写入的字符
    stream:文件流指针
返回值:
    成功返回写入的字符ASCII码值
    失败返回EOF


八、fgetc
int fgetc(FILE *stream);
功能:
    从流中读取一个字符
参数:
    stream:文件流指针
返回值:
    成功返回读到字符的ASCII码值
    读到文件末尾返回EOF
    失败返回EOF -1
    c= fgetc(stdin);
    fputc(c,stdout);
    获取键盘上面的输入,显示到屏幕

九、

fgets遇到\n会停止 ,\0也要占size,遇到\0也停止,一般就能写入size,fputs有\n就换行写,没有\n就接着写 

十、

读:
size_t  fread(void  *ptr,  size_t size, size_t nmemb, FILE *stream);
功能:从指定的stream流对象中获取nmemeb个大小为size字节的数据块到ptr
      所在的本地内存中。
参数:ptr 要存储数据的本地内存一般是数组或者结构体指针
      size 单个数据块的元数据大小。最小单元的大小
      nmemb 要获取的数据块的个数,拷贝的数据块个数。
      stream 要获取数据的源文件流对象,如果是stdin表示从
      键盘获取数据,如果是fp文件则表示从普通文件获取。
返回值:成功 小于等于nemeb的整数,表示获取的数据长度
        失败 小于0,结尾 0;

写:
size_t fwrite(const void  *ptr,  size_t  size,size_t nmemb, FILE *stream);
功能:从ptr所在本地内存中取出nmemb个大小为size的数据块写入到stream流对应
     的文件流对象中。
参数:ptr 要写的数据块地址,一般是数组或者结构体指针
      size  要写的数据块元数据大小,单位是字节
      nmemb 要写的数据块的个数
      stream 要写的目标文件流对象。如果是stdout则表示数据会
      写到终端屏幕显示,如果是fp的普通文件则会写入到文件中。

返回值:成功 小于等于nmemb 的个数。
        失败 <0

  • 22
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值