1.用文本方式储存‘1’,‘0’,‘2’存入文件,然后用二进制方式从文件开头读出一个short型数据,并验证结果是否正确

 #include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
short m;
FILE *fp;
if((fp=fopen("C:\\vc\\sample.txt","r"))==NULL)
{
printf("打开文件失败\n");
exit();
}
fputc('',fp);
fputc('',fp);
fputc('',fp);
fclose(fp);
if((fp=fopen("C:\\vc\\sample.txt","r"))==NULL)
{
printf("打开文件失败\n");
exit();
}
fread(&m,,,fp);
fclose(fp);
printf("%d\n",m);
return ;
}

也可以使用fwrite()将3个字符写入文件

 #include<stdio.h>
#include<stdlib.h>
int main()
{
short m;
FILE *fp;
if((fp=fopen("C:\\vc\\sample.txt","r+"))==NULL)
{
printf("打开文件失败\n");
exit();
}
char str[]= {'','',''}; ///单字符形式的初始化
fwrite(str,,,fp);
rewind(fp);
fread(&m,,,fp);
fclose(fp);
printf("%d\n",m);
return ;
}
///用“r+",“w+”的方式打开文件写完数据接着再读出来,不需要关闭文件再重新打开
 #include<stdio.h>
#include<stdlib.h>
int main()
{
short a;
FILE *fp;
if((fp=fopen("C:\\vc\\sample.txt","w+"))==NULL)
exit();
fprintf(fp,"%d\n",);//长度为7字节,文本方式写入,内存中00110001 00110000
rewind(fp);
a=getw(fp);
printf("%d\n",a);//a的值为12337,short 取两个字节
return ;
}
 #include<stdio.h>
#include<stdlib.h>
int main()
{
short a;
FILE *fp;
if((fp=fopen("C:\\vc\\sample.txt","w+"))==NULL)
exit();
putw(,fp);///将整数写入fp指向的文件,二进制写入内存中
///在内存中存为 00110001 00110000(由低位到高位)
rewind(fp);
fscanf(fp,"%d",&a);
printf("%d\n",a);
return ;
}

以下文件的输出结果是(123,45)

 #include<stdio.h>
int main()
{
FILE *fp;
int i,k,n;
fp=fopen("C:\\vc\\c.dic","w+");
for(i=; i<; i++)
{
fprintf(fp,"%d",i);///文本方式按format所对应的格式字符串中规定的格式,将输出列表中的每一项输出到fp所对应的文件中
if(i%==)
fprintf(fp,"\n");
}
rewind(fp);///读写转换
fscanf(fp,"%d%d",&k,&n);///读取整型实型数据时,若遇到空格,Tab或者换行键则会将他们当做分隔符读出来丢弃,然后继续读取后面的数据
printf("%d,%d\n",k,n);
fclose(fp);
return ;
}

把a.dic文件中的内容复制到b.dic中

 #include<stdio.h>
#include<stdlib.h>
void main()
{
FILE *in,*out;
char ch;
if((in=fopen("C:\\vc\\a.dic","r"))==NULL)
{
printf("cannot open infile\n");
exit();
}
if((out=fopen("C:\\vc\\b.dic","w"))==NULL)
{
printf("cannot open infile\n");
exit();
}///打开两个文件
ch=fgetc(in);
while(!feof(in))
{
fputc(ch,out);
ch=fgetc(in);
}
fclose(in);
fclose(out);
}

文本方式读取一段文字

 #include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char ch;
if((fp=fopen("C:\\vc\\a.dic","r"))==NULL)
{
printf("打开文件失败\n");
exit();
}
while()
{
ch=fgetc(fp);
putchar(ch);
if(ch==EOF)
break;
}
fclose(fp);
return ;
}

改写之后的程序:

 #include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char ch;
if((fp=fopen("C:\\vc\\a.dic","r"))==NULL)
{
printf("打开文件失败\n");
exit();
}
ch=fgetc(fp);
while(!feof(fp))
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
return ;
}

计算该文件内容的字节数

 #include<stdio.h>///计算该文件内容的字节数
int main()
{
FILE *fp;
long int n;
fp=fopen("C:\\vc\\b.dic","rb");
fseek(fp,,SEEK_END);///读写位置指针移动到了文件尾
n=ftell(fp);
fclose(fp);
printf("%ld",n);
return ;
}

C语言文件基本操作的更多相关文章

  1. 文件基本操作 (C语言)

    一切皆文件 ---Linux 头文件 <stdio.h> 中定义了文件的相关操作 #include <stdio.h> 文件操作基本流程: 打开:fopen 相关操作 关闭:f ...

  2. C语言文件操作

    C语言文件操作,以下以基本的例子和说明来展开怎么通过C语言来进行文件操作. 操作文件,我们得需要知道什么?当然是路径和文件名. 首先我需要知道我操作的文件在哪里,叫什么名字.在C语言中还存在一个打开方 ...

  3. c语言文件读写操作总结

    C语言文件读写操作总结 C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程 ...

  4. java之文件基本操作

    java之文件基本操作 1 使用 BufferedReader 在控制台读取字符 public static void readChar() throws IOException{ char c; I ...

  5. go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )

    go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...

  6. android多国语言文件夹文件汇总

    android多国语言文件夹文件汇总如下: 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values-zh-rHK 英语(美国):values-e ...

  7. 不可或缺 Windows Native (10) - C 语言: 文件

    [源码下载] 不可或缺 Windows Native (10) - C 语言: 文件 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 文件 示例cFile.h #ifn ...

  8. C语言---文件

    1. 需要了解的概念 包括:数据流.缓冲区.文件类型.文件存取方式 1.1 数据流: 指程序与数据的交互是以流的形式进行的.进行C语言文件的存取时,都会先进行“打开文件”操作,这个操作就是在打开数据流 ...

  9. CUBRID学习笔记 29 web管理中文语言文件 CUBRID教程

    网站的中文语言文件部分 http://files.cnblogs.com/files/wang2650/Messages.7z

随机推荐

  1. 竞赛题解 - NOIP2018 旅行

    \(\mathcal {NOIP2018} 旅行 - 竞赛题解\) 坑还得一层一层的填 填到Day2T1了 洛谷 P5022 题目 (以下copy自洛谷,有删减/修改 (●ˇ∀ˇ●)) 题目描述 小 ...

  2. df du sync

    df命令用来检查linux系统的磁盘空间占用情况 df [选项] -h:以容易理解的格式输出文件系统分区占用情况,如32KB,120MB,60GB -k:以KB大小单位输出文件系统分区占用情况 -m: ...

  3. centos7.3上编译安装percona5.7.18

    一,删除操作系统自带mariadb yum remove mariadb 二,下载需要的安装包 percona-toolkit-3.0.3-1.el7.x86_64.rpm boost_1_59_0. ...

  4. linux简单文件管理命令的使用

    在linux系统中,命令的使用要方便于图形界面的使用,上一个博客介绍了如何使用PuTTy远程登录linux,当然,我使用的是本地登录(手动滑稽) 经过一星期课余时间的了解,大致了解了一些简单的文件管理 ...

  5. jQuery中的easyui

    一,easyui---datagrid绑定数据的简单测试: 1.数据库中的UserInfo表及数据测试: 2.DAL层: //分页,模糊查询(pageNum-1)*pageSize+1----从第几条 ...

  6. 企业IT架构转型之道 读后感

    放假三天,用部分时间阅读了企业IT架构转型之道这本书.第一遍潦草读完,就感觉收益颇多.这本书值得多读几遍,适合精度. 作为银行IT开发人员,在央企IT成本部门的大背景下,开发过程中遇到的诸多疑惑.困惑 ...

  7. MVC action过滤器验证登录

    方法一 :  1.创建一个全局action过滤器  (在appstart  的filterconfig中注册   filters.Add(new LoginAttribute());)  2.不需要登 ...

  8. thinkphp5访问sql2000数据库

    大家都知道php跟mysql是绝配,但是因为有时候工作需要,要求php访问操作sql2000,怎么办呢? 一般来说有两种方式: 1. sqlsrv驱动方式 2. odbc方式 sqlsrv驱动方式,因 ...

  9. php的基础知识(三)

    12.函数: 函数的功能: 定义:在真实的项目开发过程中,有些代码会重复利用,我们可以把它提出来,做成公共的代码,供团队来使用,这个我们封装的代码段,就是函数(功能). 优点: 1.提高代码的利用率. ...

  10. yii 后台配置独立子域名方法

    我这里安装的是宝塔面板集成的环境WNMP,官网上虽然也有,但是写的并不明确,对我这种用YII的新手来说也很头疼,折腾了半天终于弄好,记录一下. 首先解析一个子域名:back.domain.com: 用 ...