c# 文件读写操作以及文件函数
int main ()
{
file* fpcacl;
if ( (fpcacl=fopen("c:1.txt","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()
字符读写函数 :fgetc()和fputc()
字符串读写函数:fgets()和fputs()
数据块读写函数:fread()和fwrite()
格式化读写函数:fscanf()和fprinf()
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值