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. SpringBoot整合Swagger2以及生产环境的安全问题处理

    1.创建springboot项目 https://www.cnblogs.com/i-tao/p/8878562.html 这里我们使用多环境配置: application-dev.yml(开发环境) ...

  2. php.ini修改后,重启无效

    今天做项目,上传图,需要修改php.ini.发现修改后,多次长期服务器也没用,在网上找了好多方案.介绍一下我的流程 1.使用phpinfo()找到php.ini的位置,如果位置不准确,修改肯定没有任何 ...

  3. angular2配置使用ng2-bootstrap

    第一步,安装.进入项目目录 npm install ng2-bootstrap bootstrap --save 第二步,angular-cli 配置 ng2-bootstrap   src/.ang ...

  4. DXP常用的设置及快捷键

    原文地址:http://www.cnblogs.com/NickQ/p/8799240.html 测试环境:Altium Designer Summer 16 一.快捷键 1.原理图和PCB通用快捷键 ...

  5. 基于原生JS封装数组原型上的sort方法

    基于原生JS封装数组原型上的sort方法 最近学习了数组的原型上内置方法的封装,加强了用原生JS封装方法的能力,也进一步理解数组方法封装的过程,实现的功能.虽然没有深入底层,了解源码.以下解法都是基于 ...

  6. Python学习 :正则表达式

    正则表达式 python 使用正则表达式(re)来进行匹配引擎搜索 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串” 关于正则表达式 ...

  7. mRNA翻译成蛋白

    dna = "ATGCACGTGCGCTCACTGCGAGCTGCGGCGCCGCACAGCTTCGTGGCGCTCTGGGCACCCCTGTTCCTGCTGCGCTCCGCCCTGGCCG ...

  8. SAP Odata実行命令(2)

    前言 $ skiptokenは.アプリケーションに送信されるエントリ数を制限するために使用されます. 膨大な数のエントリが要求された場合.これはパフォーマンスの向上にも役立ちます.次のリンクがアプリケ ...

  9. react前置路由守卫

    react中一切皆组件-- 目标:自定义user界面的前置路由守卫,当用户点击要进入user组件时,路由守卫发起判断,如果条件满足则进入,否则跳转至login组件. .入口文件index.js中代码如 ...

  10. Jedis+Redis+spring缓存

    Redis程序使用它?Jedis 访问redis java api Redis-server & //后台运行防火墙要关闭 ts-parent的pom.xml加上jedis依赖 <dep ...