功能:向文件读入写入一个数据块。

用法:fwrite(const void *buffer,size_t size,size_t count,FILE *stream);

(1)buffer:是一个指针,对fwrite 来说,是要输出数据的地址。

(2)size:要写入内容的单字节数;

(3)count:要进行写入size字节的数据项的个数;

(4)stream:目标文件指针。

说明:写入到文件的哪里与文件的打开模式有关,如果是r+,则是从file pointer 指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数。如果是a+,则从文件的末尾开始添加,文件长度加大,而且是fseek函数对此函数没有作用。

demo1:

  1. #include <stdio.h>
  2. #include <process.h>
  3. typedef struct
  4. {
  5. int i;
  6. char ch;
  7. }mystruct;
  8. int main()
  9. {
  10. FILE *stream;
  11. mystruct s;
  12. /*wb只写打开或新建一个二进制文件;只允许写数据。*/
  13. if ((stream=fopen("test.$$$","wb"))==NULL)
  14. {
  15. fprintf(stderr,"cannot open output file.\n");
  16. return 1;
  17. }
  18. s.i=0;
  19. s.ch='A';
  20. fwrite(&s,sizeof(s),1,stream);
  21. fclose(stream);
  22. stream=NULL;
  23. system("pause");
  24. return 0;
  25. }
demo2:
  1. #include <stdio.h>
  2. int main()
  3. {
  4. FILE *pFile=NULL;
  5. char buffer[]={'x','y','z'};
  6. pFile=fopen("myfile.bin","wb");
  7. fwrite(buffer,sizeof(buffer),1,pFile);
  8. fclose(pFile);
  9. system("pause");
  10. return 0;
  11. }
demo3:
  1. #include <stdio.h>
  2. #include <process.h>
  3. int main()
  4. {
  5. FILE *fp=NULL;
  6. char msg[]="file content";
  7. char buf[20];
  8. fp=fopen("c:\\a.txt","w+");    //二级目录会不成功
  9. if (NULL==fp)
  10. {
  11. printf("The file doesn't exist!\n");
  12. getchar();
  13. getchar();
  14. return -1;
  15. }
  16. fwrite(msg,strlen(msg),1,fp);   //把字符串内容写入到文件
  17. fseek(fp,0,SEEK_SET);           //定位文件指针到文件首位置
  18. fread(buf,strlen(msg),1,fp);    //把文件读入到缓存
  19. buf[strlen(msg)]='\0';          //删除缓存内多余空间
  20. printf("buf=%s\n",buf);
  21. printf("strlen(buf) = %d\n",strlen(buf));
  22. system("pause");
  23. return 0;
  24. }
												

C fwrite的更多相关文章

  1. fopen函数和fread函数、fwrite函数

    fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const ...

  2. 那些年,坑死自己的事之fread/fwrite

    今天继续看牛人做过的东西,这个小程序并不大,加上相当多的注释行,才5000多行.这个小程序是在linux下实现的,之前自己也一直用vi来看并加以更加详细的注释,但是效率实在太低.于是将其转移到wind ...

  3. fwrite写入文件不成功bug

    文件写入了,只是从头覆盖了!因为在fwrite():前面 文件位置指针是是SEEK_SET,即首位置.在fwrite(fileHeader, 1, 10, file); 前面加上一行fseek(fil ...

  4. PHP读写大“二进制”文件,不必申请很大内存(fopen、fread、fwrite、fclose)

    <?php /** * 读写大二进制文件,不必申请很大内存 * 只有读取到内容才创建文件 * 保证目录可写 * * @param string $srcPath 源文件路径 * @param s ...

  5. fopen,fread和fwrite

    在最近的编程练习和写东西的过程中,常常用到了fopen和fread两个函数来读取本地文件.之前使用这两个函数时,一直没有出现过什么问题.也是因为没有出现问题,对这两个函数的用法的一些细节没有很了解,所 ...

  6. 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)

    函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符 ...

  7. MATLAB中提高fwrite和fprintf函数的I/O性能

    提高fwrite和fprintf函数的I/O性能 http://www.matlabsky.com/thread-34861-1-1.html     今天我们将讨论下著名的fwrite(fprint ...

  8. Matlab 用fread、fwrite实现大文件读写

    最近在分析一个35G的大数据文件,猛一看,是不是很吓人啊,不过还好,师兄写文件的格式非常规范,读取数据来也就很方便了,主要是使用了读写文件的两个函数fread和fwrite,下面用matlab简单尝试 ...

  9. PHP fwrite() 函数与 file_put_contents() 函数的比较

    两个 PHP 函数都可以把字符串保存到文件中,fwrite() 函数的格式是: int fwrite ( resource handle , string string [ , int length] ...

随机推荐

  1. 获取url传参

    function urlparameterforkey(name) { //读取html 数据 ); //待处理的字符串 var patt = new RegExp(name); //要查找的字符串 ...

  2. java16

    1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 ...

  3. java21

    1:字符流(掌握) (1)字节流操作中文数据不是特别的方便,所以就出现了转换流. 转换流的作用就是把字节流转换字符流来使用. (2)转换流其实是一个字符流 字符流 = 字节流 + 编码表 (3)编码表 ...

  4. “连接配置中心失败,将无法进行正常管理”--腾讯通RTX管理器

    [故障现象]: 腾讯通RTX管理器提示“连接配置中心失败,将无法进行正常管理” [解决办法]: 在系统服务中启动“RTX_ConfigCenter”服务即可. 文章收集自网络

  5. mac下wifi无法连接的问题

    今天遇到了一个Wi-Fi打死连不上的问题,关闭重启电脑路由器都试了一下还是不行,最后把资源库/偏好设置/SystemConfiguration下的文件都删除,有一个是删不掉的,留着不影响,然后重启,O ...

  6. django上传图片

    django修改头像的功能... 1.在表单中加入enctype="multipart/form-data: 关于表单中enctype的介绍:http://www.w3school.com. ...

  7. Google之Chromium浏览器源码学习——base公共通用库(四)

    本文将介绍debug调试相关的内容,包括调试器.性能分析.堆跟踪.跟踪事件等: alias.h:Alias函数,提供防止载微软的编译器优化某参数变量的操作,内部通过#pragma optimize(& ...

  8. Myeclipse 运行maven控制台中文乱码

    需要在pom中的properties中增加一行配置: <properties> <argLine>-Dfile.encoding=UTF-8</argLine> & ...

  9. 三言两语之js事件、事件流以及target、currentTarget、this那些事

    厉害了我的哥--你是如此简单我却将你给遗忘   放假前再看某文档,里边提到两个我既熟悉又陌生的概念target.currentTarget,说他熟悉我曾经看到过这两个事件对象的异同处,说他陌生吧?很不 ...

  10. Java Arrays类进行数组排序

    排序算法,基本的高级语言都有一些提供.C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array).用这些排序时,都可以写自己的排序规则. Java API对A ...