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. 【saltstack 集中化管理】

    Master(监控端): Minion(被监控端) 监控: /etc/master: #interface:监控端地址 #自动接受被监控端证书 #saltstack文件根目录位置 #启动监控 被监控: ...

  2. 分布式缓存 Redis(一)

    概念 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,和Memcached类似,它支持存储的value类型相对更多,包括string( ...

  3. PHP基础4--函数-数组

    主要 函数 数组 常用系统函数 函数 基础 1)定义 function 函数名([$形参1],[$形参2],.....) { //函数体 } 点击查看函数定义形式 2) 调用 函数名([$实参1][, ...

  4. drawImage画本地资源,在真机无法显示

    把图片的路径改成本地的绝对路径

  5. ckeditor + ckfinder + oss存储

    ckeditor 与 ckfinder 的整合方法 网上有很多,这里我也就不说了.  (主要是以前整合的现在忘记咋弄的了0.0) 我这里整合后直接使用js代码 <script type=&quo ...

  6. hadoop生态搭建(3节点)-10.spark配置

    # https://www.scala-lang.org/download/2.12.4.html# ================================================= ...

  7. 20190129-‘abcdefgh’里面挑出3个字母进行组合,一共有多少组合

    一. 百度面试题‘abcdefgh’里面挑出3个字母进行组合,一共有多少组合,要求3个字母中不能有重复的组合,三个字母同时出现的次数只能出现一次,如出现了abc就不能出现cab,bca等 思路: 1. ...

  8. linux使用logrotate工具管理日志轮替

    对于Linux系统安全来说,日志文件是极其重要的工具.logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用.可以节 ...

  9. 542. 01 Matrix

    class Solution { public: vector<vector<int>> res; int m, n; vector<vector<int>& ...

  10. elk6.3.2在线安装中文分词工具IK

    1.进入ES目录并执行安装(注意版本号改成你需要的版本) cd /usr/share/elasticsearch ./bin/elasticsearch-plugin install https:// ...