c语言怎么关闭命令窗口,C语言文件的打开、关闭、读写

@[toc]

文件指针

FILE *fp1, *fp2;

重定向

通常我们强制程序从文件读入而不是从键盘获得输入,方法是在命令行中放上文件的名字,并在前面加上字符

demo:

demo:>out.dat //输出重定向

demo: < in.dat > out.dat

文本文件和二进制文件

文本文件

字节表示字符,人民可以检查或编辑文件。

特性:文本文件分为若干行。

文本文件可以包含一个特殊的“文件末尾”标记。

二进制文件

字节不一定表示字符,字节组还可以表示其他类型的数据,比如整数和浮点数。

在无法确定文件是文本形式还是二进制形式时,安全的做法是把文件假定为二进制文件。

打开文件

FILE *fopen(const char * restrict filename, const char * restrict mode);

fopen函数返回一个文件指针。

fp = fopen("in.dat","r");

当无法打开文件时,fopen函数会返回空指针。

模式

关闭文件

fclose(fp);

从命令行获取文件名

int main(int argc, char *argv[]){

}

demo name.dat dates.dat

argc是命令行参数的数量,argv是指向参数字符串的指针数组。argv[0]指向程序的名字,argv[1]指向字符串"name.dat",argv[2]指向字符串"dates.dat".

字符的输入、输出

输出函数

int fputc(int c, FILE *stream);

int putc(int c, FILE *stream);

int putchar(int c);

输入函数

int fgetc(FILE *stream);

int getc(FILE *stream);

int getchar(void);

int ungetc(int c,FILE *stream);

行的输入、输出

输出函数

int fputs(const char *restrict s,FILE *restrict stream);

int puts(const char *s);

输入函数

char *fgets(char * restrict s, int n,FILE *restrict stream);

char *gets(char *s);

文件定位

int fseek(FILE *stream,long int offset,int whence);

long int ftell(FILE *stream);

void rewind(FILE *stream);

fseek函数改变与第一个参数(文件指针)相关的文件位置。第三个参数说明新位置是根据文件的起始处、当前位置还是文件末尾来计算。

SEEK_SET 文件的起始处

SEEK_CUR 文件的当前位置

SEEK_END 文件的末尾处

第二个参数是(可能为负的)字节计数。

fseek(fp,0L,SEEK_SET); //move to beginning of file

fseek(fp,0L,SEEK_END); //move to end of file

fseek(fp,-10L,SEEK_CUR); //moves back 10 bytes

文件定位函数最适合二进制流。

ftell函数以长整数返回当前文件位置。

rewind函数会把文件的位置设置在起始处。rewind不返回值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值