C语言强化——文件
文件操作
- fopen与fclose
- fread与fwrite
- fseek
- fputs与fgets
- fscanf与fprintf
fopen与fclose
#include<stdio.h>
int main() {
FILE *fp;
char c;
fp = fopen("1.txt", "r");
if (NULL == fp) {
perror("fopen"); //perror()函数打印str(字符串)和一个相应的执行定义的错误消息到全局变量errno中.
}
while ((c = fgetc(fp)) != EOF) {
putchar(c);
}
fclose(fp);
return 0;
}
fread与fwrite

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fp;
char buf[128] = { 0 };
int i = 0x12340a78;
int ret;
fp = fopen("1.txt", "rb+");
if (NULL == fp)
{
perror("fopen");
}
//打印文件内容
//while(memset(buf,0,sizeof(buf)),(ret=fread(buf,sizeof(char),sizeof(buf)-1,fp))>0)
//{
// printf("%s",buf);
//}
//写入文件
strcpy(buf, "hello\nworld");
fwrite(buf, sizeof(char), strlen(buf), fp);
//fwrite的返回值是写的对象的数量
/*ret=fwrite(&i,sizeof(int),1,fp);
i=0;*/
/*fread(&i,sizeof(int),1,fp);
printf("i=%x\n",i);*/
fclose(fp);
return 0;
}
fseek

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fp;
int ret;
char buf[128]={0};
fp=fopen("1.txt","r+");
if(NULL==fp)
{
perror("fopen");
}
ret=fseek(fp,6,SEEK_SET); //成功返回0,失败返回非零
ret=fread(buf,sizeof(char),2,fp);
printf("buf=%s\n",buf);
fseek(fp,0,SEEK_CUR);
ret=fwrite("you are how",sizeof(char),11,fp);
fclose(fp);
return 0;
}
fputs与fgets

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fp;
int ret;
char buf[128];
fp=fopen("1.txt","r+");
if(NULL==fp)
{
perror("fopen");
}
while(fgets(buf,sizeof(buf),stdin))
{
fputs(buf,fp); //等价于printf("%s\n",buf);
}
return 0;
}
fscanf与fprintf

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct{
int num;
char name[20];
float score;
}Stu;
int main()
{
int num=20;
float score=98.5;
Stu sArr[3]={1001,"zhangfei",66.5,1007,"liubei",96.5,1005,"guanyu",97.3};
int ret,i;
FILE *fp=fopen("file.txt","r+");
if(NULL==fp)
{
perror("fopen");
}
//ret=fprintf(fp,"%d %5.2f\n",num,score);
//num=0;
//score=0;
//ret=fscanf(fp,"%d%f",&num,&score);
for(i=0;i<3;i++)
{
ret=fprintf(fp,"%d %s %5.2f\n",sArr[i].num,sArr[i].name,sArr[i].score);
}
fseek(fp,0,SEEK_SET);
memset(sArr,0,sizeof(sArr));
for(i=0;i<3;i++)
{
ret=fscanf(fp,"%d%s%f",&sArr[i].num,sArr[i].name,&sArr[i].score);
}
fclose(fp);
return 0;
}
C语言强化——文件的更多相关文章
- BMP头文件格式以及C语言读取头文件【转】
BMP头文件格式以及C语言读取头文件[转] (2011-12-24 22:59:17) 转载▼ 标签: 杂谈 分类: 各个领域的知识 BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文 ...
- c语言头文件中定义全局变量的问题
c语言头文件中定义全局变量的问题 (转http://www.cnblogs.com/Sorean/) 先说一下,全局变量只能定义在 函数里面,任意函数,其他函数在使用的时候用extern声明.千万不要 ...
- C 语言 .h文件的作用
C语言头文件的作用 最近在工作当中遇到了一点小问题,关于C语言头文件的应用问题,主要还是关于全局变量的定义和声明问题.学习C语言已经有好几年了,工作使用也近半年了,但是对于这部分的东西的确还没有深入的 ...
- 嵌入式C语言头文件的建立与使用
如何正确编写 C 语言头文件和与之相关联的 c 源程序文件,这首先就要了解它们的各自功能. 要理解 C 文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程. 一般说来编译器会做以下几 ...
- C语言基础文件读写操作
整理了一份C语言的文件读写件操作代码,测试时打开相应的注释即可. #include <stdio.h> #include <stdlib.h> #include <uni ...
- 51单片机C语言学习笔记6:51单片机C语言头文件及其使用
很多初学单片机者往往对C51的头文件感到很神秘,而为什么要那样写,甚至有的初学者喜欢问,P1口的P为什么要大写,不大写行不行呢?其实这个是在头文件中用sfr定义的,现在定义好了的是这样的 sfr P1 ...
- C语言头文件
最近在工作当中遇到了一点小问题,关于C语言头文件的应用问题,主要还是关于全局变量的定义和声明问题.学习C语言已经有好几年了,工作使用也近半年了,但是对于这部分的东西的确还没有深入的思考过.概念上还是比 ...
- C语言判断文件夹或者文件是否存在的方法【转】
C语言判断文件夹或者文件是否存在的方法 方法一:access函数判断文件夹或者文件是否存在 函数原型: int access(const char *filename, int mode); 所 ...
- C语言程序设计--文件操作
前言 这里尝试与Python对别的方法来学习C语言的文件操作,毕竟我是Pythoner. 文件打开与关闭 Python #因为是和C语言比对,所以不使用with filename = "/e ...
随机推荐
- BOM-JavaScript浏览器的对象模型
BOM-JavaScript是运行在浏览器中的,所以提供了一系列对象用于和浏览器窗口进行交互,这些对象主要包括window.document.location.navigator和screen等.通常 ...
- 《DSP using MATLAB》Problem 5.37
证明过程: 代码: %% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
- python os模块使用笔记(更新)
import os 添加os模块 walk方法: os.walk(path) path是string形式的目标目录 生成一个某目录下递归树形目录迭代器,方便递归访问子目录,访问目录就能够轻松访问子文件 ...
- mongodb添加验证用户 删除用户
1.创建用户 db.createUser( { user:<name_string>, #字符串 pwd:<password_string> ...
- java-IO流(File对象-深度遍历指定目录下的文件夹和文件)
需求:遍历这个树状结构 File(String pathname) '\\'为了转义'\' // 通过抽象路径pathname 创建一个新的文件或者目录 File parent = new File( ...
- doubleclick adx note
1, cid . is billing_id from Main.html#PRETARGETING otherwise creative id will not upload to creati ...
- 试用 openresty/lua-resty-shell
openresty/lua-resty-shell 是当前最新rc 版本内置的shell 功能,我们可以用来执行一个脚本,以及命令 还是比较方便的. 测试集成了一个oreilly电子书下载的功能 环境 ...
- Unity Shader 入门精要学习 (冯乐乐 著)
第1篇 基础篇 第1章 欢迎来到Shader的世界 第2章 渲染流水线 第3章 Unity Shader 基础 第4章 学习Shader所需的数学基础 第2篇 初级篇 第5章 开始Unity Shad ...
- node-sass 安装失败的原因及解决办法
出处:https://segmentfault.com/a/1190000010984731 windows 上用 yarn add node-sass --dev 也可以安装上.
- vue线上项目,优化前后对比
优化前: dev初次时间:52s dev时间:5s~6s build时间:374s(6.2分钟) build后zip包大小: vue.vue-router 优化后: dev初次时间:49s.48s.5 ...