c语言如何设置并以文件保存文件大小,C语言文件操作之文件的读写[1].doc

C语言文件操作之----文件的读写

一. Tc2.0下获取环境变量

#include

#include

int main(void)

{

char *path,*ptr;

int i=0;

puts("This program is to get the information of environ.");

while(environ[i])

printf(">>%s\n",environ[i++]);

printf("Press any key to quit...");

getch();

return 0;

}

二.TC2.0获取CapsLock键状态

#include

#include

int main()

{

int value=0;

printf("\n\The current status of the Caps Lock key is:");

value=peekb(0x0040,0x0017);

if(value&64)

{

printf("\n\n The Caps Lock key is:on");

sleep(10);

}

else

{

printf("\n\n The Caps Lock Key is:off");

sleep(10);

}

}

运行Windows 系统版本

当文件按指定的工作方式打开以后,就可以执行对文件的读和写。

下面按文件的性质分类进行操作。

对文本文件来说,可按字符读写或按字符串读写;

对二进制文件来说,可进行成块的读写或格式化的读写。

1. 读写字符

C提供fgetc和fputc函数对文本文件进行字符的读写,其函数的原型存于stdio.h头文件中,格式为:

int fgetc(FILE *stream)

fgetc( )函数从输入流的当前位置返回一个字符,并将文件指针指示器移到下一个字符处,如果已到文件尾,函数返回EOF,此时表示本次操作结束,若读写文件完成,则应关闭文件。

int fputc(int ch,FILE *stream)

fputc()函数完成将字符ch的值写入所指定的流文件的当前位置处,并将文件指针后移一位。fputc()函数的返回值是所写入字符的值,出错时返回EOF。

[例8-2] 将存放于磁盘的指定文本文件按读写字符方式逐个地从文件读出,然后再将其显示到屏幕上。采用带参数的main( ),指定的磁盘文件名由命令行方式通过键盘给定。

#i nclude

main(int argc,char *argv[])

{

char ch;

FILE *fp;

int i;

if((fp=fopen(argv[1],"r"))==NULL) /* 打开一个由argv[1]所指的文件*/

{

printf("not open");

exit(0);

}

while ((ch=fgetc(fp))!=EOF) /* 从文件读一字符,显示到屏幕*/

putchar(ch);

fclose(fp);

}

程序是一带参数的main( )函数,要求以命令行方式运行,其参数argc是用于记录输入参数的个数, argv是指针数组,用于存放输入参数的字符串,串的个数由argc描述。假设我们指定读取的文件名为L8-2.c,并且列表文件内容就是源程序。经过编 译和连接生成可执行的文件L8-2.exe。运行程序l8-2.exe,输入的命令行方式为:

c:\tc>l8-2 L8-2.c

上述程序以命令行方式运行,其输入参数字符串有两个,即argv[0]="c:\tc>l8-2"、argv[1]=" L8-2.c ",argc = 2。故打开的文件是L8-2.c 。程序中对fgetc( )函数的返回值不断进行测试,若读到文件尾部或读文件出错,都将返回C的整型常量EOF,其值为非零有效整数。程序的运行输出为源程序本身:

c:\tc>l8-2 L8-2.c

#i nclude

main(int argc,char *argv[])

{

char ch;

FILE *fp;

int i;

if((fp=fopen(argv[1],"r"))==NULL) /* 打开一个由argv[1] 所指的文件*/

{

printf("not open");

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值