C语言文件基本操作
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语言文件基本操作的更多相关文章
- 文件基本操作 (C语言)
一切皆文件 ---Linux 头文件 <stdio.h> 中定义了文件的相关操作 #include <stdio.h> 文件操作基本流程: 打开:fopen 相关操作 关闭:f ...
- C语言文件操作
C语言文件操作,以下以基本的例子和说明来展开怎么通过C语言来进行文件操作. 操作文件,我们得需要知道什么?当然是路径和文件名. 首先我需要知道我操作的文件在哪里,叫什么名字.在C语言中还存在一个打开方 ...
- c语言文件读写操作总结
C语言文件读写操作总结 C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程 ...
- java之文件基本操作
java之文件基本操作 1 使用 BufferedReader 在控制台读取字符 public static void readChar() throws IOException{ char c; I ...
- go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )
go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...
- android多国语言文件夹文件汇总
android多国语言文件夹文件汇总如下: 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values-zh-rHK 英语(美国):values-e ...
- 不可或缺 Windows Native (10) - C 语言: 文件
[源码下载] 不可或缺 Windows Native (10) - C 语言: 文件 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 文件 示例cFile.h #ifn ...
- C语言---文件
1. 需要了解的概念 包括:数据流.缓冲区.文件类型.文件存取方式 1.1 数据流: 指程序与数据的交互是以流的形式进行的.进行C语言文件的存取时,都会先进行“打开文件”操作,这个操作就是在打开数据流 ...
- CUBRID学习笔记 29 web管理中文语言文件 CUBRID教程
网站的中文语言文件部分 http://files.cnblogs.com/files/wang2650/Messages.7z
随机推荐
- chromium之ref_counted
namespace subtle { class RefCountedBase { protected: RefCountedBase(); ~RefCountedBase(); void AddRe ...
- linux安装完jenkins无法访问的问题
jenkins是一个持续集成部署的工具,非常好用,当然,有些细节问题还是需要注意的.当我们兴高采烈的安装完jenkins的时候,然后发现并不能访问,真是气死了. 这个时候就要一步一步检测问题出在哪. ...
- 解决 LLVM 错误提示 may only occur zero or one times!
使用 LLVM 混淆器添加参数进行编译提示如下错误:clang (LLVM option parsing): for the -bcf option: may only occur zero or o ...
- border-radius__边框圆角
1.四个参数: border-radius: 值1 值2 值3 值4;顺序:从左开始,顺时针顺 div{ width: 200px; height: 100px; background-color: ...
- 常用的JavaScript设计模式(二)Factory(工厂)模式
Factory通过提供一个通用的接口来创建对象,同时,我们还可以指定我们想要创建的对象实例的类型. 假设现在有一个汽车工厂VehicleFactory,支持创建Car和Truck类型的对象实例,现在需 ...
- javascript实现复选框单选多选!
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- ACM数论-卡特兰数Catalan
Catalan 原理: 令h(0)=1,h(1)=1,catalan 数满足递归式: (其中n>=2) 另类递推公式: 该递推关系的解为: (n=1,2,3,...) 卡特兰数的应用实质上都是递 ...
- 北京Uber优步司机奖励政策(3月27日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- ORB-SLAM(十二)优化
ORB-SLAM中优化使用g2o库,先复习一下g2o的用法,上类图 其中SparseOptimizer就是我们需要维护的优化求解器,他是一个优化图,也是一个超图(包含若干顶点和一元二元多元边),怎样定 ...
- andriod 学习三 使用android资源
3.1 android框架中有许多资源,包括布局,字符串,位图,图片....,使用资源之前需要在相应的资源文件中定义资源,然后编译程序时ADT将定义的资源转换成java类并给予唯一的id,而代码中需要 ...