A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dushoupeng 中级黑马   /  2015-7-12 08:57  /  740 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

10.        文件的使用方式:


11.        文件使用方式注意事项:
1)        文件使用方式由r w a t b +六个字符拼成
r  读
w  写
a  追加
t   文本文件,可省略不写
b   二进制文件
+    读和写
2)        凡用r打开一个文件时,该文件必须已经存在,且只能从该文件读出
3)        用w打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则该文件删去,重建一个新文件
4)        若要向一个已存在的文件追加新的信息,只能用”a“方式打开文件。如果文件不存在,也会自动帮我们创建
5)        在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。

6)        把一个文本文件读入内存时,要将ASCII码转换成二进制码,而把温江以文本方式写入磁盘时,也要把二进制码转换成ASCII,因此文本文件的读写要花费较多的转换时间,对二进制文件的读写不存在这种转换
7)        标准输入文件(键盘),标准输出文件(显示器),标准出错输出(出错信息)是由系统打开的,可直接使用。
12.        字符写入函数fputc
字符读写函数是以字符(字节)为单位的读写函数,每次可从文件读出或向文件写入一个字符。
Fputc函数的功能是把一个字符写入指定的文件中,函数调用的形式为:
Fputc(字符量,文件指针);
其中,特写如的字符量可以是字符常量或变量,例如:
Fputc(’a‘,fp);
其意义是把字符a写入fp所指向的文件中。
18.字符串读写函数:
写入:fputs
Fputs(字符串,文件指针);
#include <stdio.h>

void test(){

    //写入字符串到文件中
    char str[]="welcome to afuhan";
   
    //定义文件指针
    //打开文件
    FILE *fp = fopen("fputs.txt", "w");
   
    //判断
    int count=0;
    if (fp!=NULL) {
        
        //写字符串到文件中
        //count 返回的事本次写入的字符串的长度
        count = fputs(str, fp);
        
        printf("写入成功,本次写入%d个字符\n",count);
    }
   
   
    //关闭文件指针
    fclose(fp);
   

}

/**
*  字符串的追加
*/
void test1(){


    //写入字符串到文件中
    char str[]="welcome to afuhan";
   
    //定义文件指针
    //打开文件,追加是在文件的末尾追加
    FILE *fp = fopen("fputs.txt", "a");  //a append
   
    //判断
    int count=0;
    if (fp!=NULL) {
        
        //写字符串到文件中
        //count 返回的事本次写入的字符串的长度
        count = fputs(str, fp);
        
        printf("写入成功,本次写入%d个字符\n",count);
    }
   
   
    //关闭文件指针
    fclose(fp);
   

}

int main(int argc, const char * argv[]) {
   
    //写入字符串到文件中
    char str[]="welcome to afuhan\n";
   
    //定义文件指针
    //打开文件
    FILE *fp = fopen("fputs.txt", "r");  //r read
   
    //判断

    char str2[100];
    if (fp!=NULL) {
        //fgets(ch,10,stdin);
        //从文件中读取字符到字符数组str2中
        //   数组名   长度         文件指针
        fgets(str2, sizeof(str2), fp);
        //fputs(str, fp);
        //sizeof(str2)  100
        //注意:
        //1)fgets读取的时候,当文件内容读取完毕后,会给字符加上结束符\0
        //2)fgets读取的时候,遇到\n或者EOF,读取结束
        printf("str2---->%s\n",str2);
        
    }
   
   
    //关闭文件指针
    fclose(fp);
   
    return 0;
}
19.读取数据块的函数fread和fwrite
读数据块函数调用的一般形式:
   Fread(buffer,size,count,fp);
写数据块函数调用的一般形式:
  Fwrite(buffer,size,count,fp);

#include <stdio.h>
#include <string.h>


void test(){


    //fwrite 写一个数据块
    //先写一个字符串
   
    //定义文件指针,并且打开文件
    FILE *fp = fopen("fwrite.txt", "w");
    if (fp!=NULL) {
        //写文件
        char *str ="helloworld!";
        //用fwrite写数据
        //fwrite(地址,块大小,块数,文件指针);
        fwrite(str, strlen(str), 1, fp);
        printf("写入成功!\n");
    }
    fclose(fp);

}

/**
*  fread读取字符串
*/
void test1(){
   
    //视频
   
    //定义文件指针,并且打开文件
    FILE *fp = fopen("fwrite.txt", "r");
    if (fp!=NULL) {
        //写文件
        char *str ="helloworld!";
        //用fread读取数据
        //fread(地址,块大小,块数,文件指针);
        char ch[12];
        fread(ch, sizeof(ch), 1, fp);
        printf("%s\n",ch);
    }
    fclose(fp);

}

int main(int argc, const char * argv[]) {
   
    //视频
   
    //定义文件指针,并且打开文件
    FILE *fp = fopen("fw.data", "wb");
    if (fp!=NULL) {
        int a = 123;
        fwrite(&a, sizeof(int), 1, fp);
        printf("写入成功!");
      
    }
    fclose(fp);
   
    return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马