admin 管理员组

文章数量: 887053


2024年1月6日发(作者:native magicbullets)

C# 文件读写操作以及文件函数

int main ()

{

file* fpcacl;

if ( (fpcacl=fopen("c:","w")) == null )

{

printf("open file failure!n");

}

fprintf(fpcacl," 1: = 0x%xn",(0x1u << 3) | (0xa5 << 24));

fprintf(fpcacl," 2: = 0x%xn", (0x37 << 16) | (0x8 << 8) | (0x1u << 3) | (0x1u <<

0) );

fprintf(fpcacl," 3: = 0x%xn", (0x37 << 16) | (0x8 << 8) | (0x1u << 3) | (0x1u <<

0) | (0x1u << 24));

fprintf(fpcacl," 4: = 0x%xn", (0x1u << 29) | (0x0f << 16) | (0x01 << 8) | 0x03);

fprintf(fpcacl," 5: = 0x%xn", ( ((0x0u << 4)|(0x2u << 0))&(~0x3u)) | (0x1u << 0));

fprintf(fpcacl," 6: = 0x%xn", (0x0u << 4)|(0x2u << 0));

fclose(fpcacl);

printf(" 1: = 0x%xn", (0x1u << 3) | (0xa5 << 24));

printf(" 2: = 0x%xn", (0x37 << 16) | (0x8 << 8) | (0x1u << 3) | (0x1u << 0) );

printf(" 3: = 0x%xn", (0x37 << 16) | (0x8 << 8) | (0x1u << 3) | (0x1u << 0) | (0x1u

<< 24));

printf(" 4: = 0x%xn", (0x1u << 29) | (0x0f << 16) | (0x01 << 8) | 0x03);

printf(" 5: = 0x%xn", ( ((0x0u << 4)|(0x2u << 0))&(~0x3u)) | (0x1u << 0));

printf(" 6: = 0x%xn", (0x0u << 4)|(0x2u << 0));

return 0;

}

件打开关闭函数:fopen()和fclose()

fclose(file *fp)>

字符读写函数 :fgetc()和fputc()

字符串读写函数:fgets()和fputs()

fputs(char *str, file *fp)>

数据块读写函数:fread()和fwrite()

*fp)|int fread(void *buf, int size, int count, file *fp)>

格式化读写函数:fscanf()和fprinf()

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值


本文标签: 文件 打开 存在 读写 函数