文件
# 文件与底层操作
# 6.1文件
格式化输入输出
printf("%[flags][width][.prec][hlL]type"
)scanf("%[flag]type")
printf
和scanf
的返回值:读入的项目数,输出的字符数#include<stdio.h> int main(int argc, char const *argv[]) { int number; int i = scanf("&i",&number); int j = printf("%d\n",number); printf("%d::%d",i,j); return 0; }
文件的输入输出
运行程序时使用
>
和<
:对文件的输入输出进行文件重定向FILE
结构完成文件读写6.1.2
FILE* fp = fopen("file","r"); if(fp){ fscanf(fp,...); fclose(fp);size_t fread(void *restrict ptr, size_t size, size_t nitems, FILE *restric stream); }else{ ... }
文本文件可以通过
more
,tail
,cat
来查看,Unix
是文本文件,而DOS
是二进制文件二进制读写
size_t fread(void *restrict ptr, size_t size, size_t nitems, FILE *restric stream); size_t fwrite(void *restrict ptr, size_t size, size_t nitems, FILE *restric stream); //内存位置,内存单元大小,内存单元个数,文件指针
在二进制文件中定位
long ftell(FILE *stream); int fseek(FILE *stream, long offset, int whence);
二进制文件不可跨平台,多用文本文件
# 底层操作
按位运算符
& | ~ ^ << >>
,与 或 非 异或 左移 右移位段
struct U { unsigned int leading : 3; unsigned int flag1 : 1; unsigned int flag2 : 1; int trailing : 11; };
上次更新: 2023/11/19, 12:55:48