黑马程序员技术交流社区

标题: 文件读取(fread)写入(fwrite) [打印本页]

作者: 一步步往上爬    时间: 2016-1-13 13:20
标题: 文件读取(fread)写入(fwrite)
fwrite:

写一段数据到文件

语法:fwrite(数据的首地址,每块的字节数,一共多少块,文件指针);

语义:要写入的内容的首地址,分成多少块,每块多少字节,然后写入到哪个文件去

fwrite只能写:字符

fread:

读取文件内容

fread(变量的地址,每块的字节大小,多少块,文件指针);

语义:去文件指针所指向的文件处读取内容,保存到这个变量里,按多少块来读,以及每块读取多大的字节,每块读取多少字节,最好根据类型来,写1个字节也可以的

如果文件的实际长度小于你要读取的字节总大小,也只是读取实际长度个

练习:先写一段数据“我爱北京天安门”,写入到桌面1.txt,写完以后再读取出来,并且打印

文件路径:

1.就是文件在电脑上的地址/Users/apple/Desktop/3.txt

用fwrite写入的时候,必须保证fwrite设置的字节数要小于或者等于你的真实数据最大字节

读取的时候无所谓,你可以把fread设置的字节数大于文件实际保存的字节数,没有影响!读取时读到末尾也会自动停止读取

例子:

#include <stdio.h>

int main(int argc, const char * argv[]) {

    //fwrite:写一段数据到文件

//    FILE *fp = fopen("/Users/mac/Desktop/11.txt", "w");//创建文件或者打开文件

//    if (fp) {

//        char str[]="好好学习天天向上";

//        fwrite(str, 3, 8, fp);//文件操作 写入东西到里面

//        

//        fclose(fp);//关闭文件

//        printf("%s\n",str); //打印文件里面的东西

//    }

//   

    //fread:读取文件内容

    FILE *fp1 = fopen("/Users/mac/Desktop/11.txt", "r");

    if (fp1) {

        char str1[1000];

        fread(str1, 3, 8, fp1);

        puts(str1);

        fclose(fp1);

    }

    return 0;

}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2