zoukankan      html  css  js  c++  java
  • 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值。

     1 #include <stdio.h>
     2 
     3 int main ()
     4 {
     5     FILE* FPCacl;
     6     
     7     if ( (FPCacl=fopen("c:\1.txt","w")) == NULL )
     8     {
     9         printf("Open file failure!
    ");
    10     }
    11     fprintf(FPCacl," 1: = 0x%x
    ",(0x1u << 3) | (0xA5 << 24));
    12     fprintf(FPCacl," 2: = 0x%x
    ", (0x37 << 16) | (0x8 << 8) | (0x1u << 3) | (0x1u << 0) );
    13     fprintf(FPCacl," 3: = 0x%x
    ", (0x37 << 16) | (0x8 << 8) | (0x1u << 3) | (0x1u << 0) | (0x1u << 24));
    14     fprintf(FPCacl," 4: = 0x%x
    ", (0x1u << 29) | (0x0f << 16) | (0x01 << 8) | 0x03);
    15     fprintf(FPCacl," 5: = 0x%x
    ", ( ((0x0u << 4)|(0x2u << 0))&(~0x3u))  | (0x1u << 0));
    16     fprintf(FPCacl," 6: = 0x%x
    ", (0x0u << 4)|(0x2u << 0));
    17     fclose(FPCacl);
    18     
    19     printf(" 1: = 0x%x
    ", (0x1u << 3) | (0xA5 << 24));
    20     printf(" 2: = 0x%x
    ", (0x37 << 16) | (0x8 << 8) | (0x1u << 3) | (0x1u << 0) );
    21     printf(" 3: = 0x%x
    ", (0x37 << 16) | (0x8 << 8) | (0x1u << 3) | (0x1u << 0) | (0x1u << 24));
    22     printf(" 4: = 0x%x
    ", (0x1u << 29) | (0x0f << 16) | (0x01 << 8) | 0x03);
    23     printf(" 5: = 0x%x
    ", ( ((0x0u << 4)|(0x2u << 0))&(~0x3u))  | (0x1u << 0));
    24     printf(" 6: = 0x%x
    ", (0x0u << 4)|(0x2u << 0));          
    25 
    26     return 0;    
    27 }
    View Code
    感谢来访,共同学习!
  • 相关阅读:
    内存池(MemPool)技术详解
    关于项目时间管理的六点须知
    如何与你的老大沟通?
    一个简单的面试题
    Windows下的Memcache安装与测试教程
    反向代理服务器的工作原理
    Linux下的Memcache安装方法
    TCP/IP协议详解
    浅谈负载均衡技术与分类
    MySQL数据备份和恢复的方法大全
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3187251.html
Copyright © 2011-2022 走看看