C语言函数的读写

时间:2023-03-10 06:04:30
C语言函数的读写

文件打开关闭函数:fopen()和fclose() <FILE *fopen(char *filename, char *mode)| int fclose(FILE *fp)>

字符读写函数 :fgetc()和fputc()<int fgetc(FILE *fp)|int fputc(int ch, file *fp)>

字符串读写函数:fgets()和fputs()<char *fgets(char *str, int num, FILE *fp)| int fputs(char *str, file *fp)>

数据块读写函数:fread()和fwrite()<int fwrite(void *buf, int size, int count, FILE *fp)|int fread(void *buf, int size, int count, FILE *fp)>

格式化读写函数:fscanf()和fprinf()<int fscanf(FILE *fp, char *format,…)|int fprintf(FILE *fp, char *format,…)>

mode有下列几种形态字符串:
r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask值。

 #include <stdio.h>

 int main ()
{
FILE* FPCacl; if ( (FPCacl=fopen("c:\\1.txt","w")) == NULL )
{
printf("Open file failure!\n");
}
fprintf(FPCacl," 1: = 0x%x\n",(0x1u << ) | (0xA5 << ));
fprintf(FPCacl," 2: = 0x%x\n", (0x37 << ) | (0x8 << ) | (0x1u << ) | (0x1u << ) );
fprintf(FPCacl," 3: = 0x%x\n", (0x37 << ) | (0x8 << ) | (0x1u << ) | (0x1u << ) | (0x1u << ));
fprintf(FPCacl," 4: = 0x%x\n", (0x1u << ) | (0x0f << ) | (0x01 << ) | 0x03);
fprintf(FPCacl," 5: = 0x%x\n", ( ((0x0u << )|(0x2u << ))&(~0x3u)) | (0x1u << ));
fprintf(FPCacl," 6: = 0x%x\n", (0x0u << )|(0x2u << ));
fclose(FPCacl); printf(" 1: = 0x%x\n", (0x1u << ) | (0xA5 << ));
printf(" 2: = 0x%x\n", (0x37 << ) | (0x8 << ) | (0x1u << ) | (0x1u << ) );
printf(" 3: = 0x%x\n", (0x37 << ) | (0x8 << ) | (0x1u << ) | (0x1u << ) | (0x1u << ));
printf(" 4: = 0x%x\n", (0x1u << ) | (0x0f << ) | (0x01 << ) | 0x03);
printf(" 5: = 0x%x\n", ( ((0x0u << )|(0x2u << ))&(~0x3u)) | (0x1u << ));
printf(" 6: = 0x%x\n", (0x0u << )|(0x2u << )); return ;
}