C语言 文件定位

C语言 文件定位,第1张

C语言文件定位,主要依靠fseek函数实现,具体代码如下,

#include <stdio.h>

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

{

FILE *fp=NULL

long len=0L//文件长度

fp=fopen("test.dat","rb")//假设当前目录有test.dat文件

if(!fp)//检查文件打开是否正常

{

printf("文件打开失败,程序退出!\n")

exit(1)

}

fseek(fp,0L,SEEK_END)//文件定位到文件末尾

len=ftell(fp)//获取文件长度

if(len/1024>0)

printf("文件大小为%ldKB!\n",len/1024)

else

printf("文件大小为%ldB!\n",len)

rewind(fp)//文件指针移到开始处

if(fp)//关闭文件

{

fclose(fp)

fp=NULL

}

return 0

}

int fseek( FILE *stream, long offset, int origin )函数fseek()为文件指针stream设置位置数据。origin的值应该是下列值之一,

SEEK_SET(从文件的开始处开始搜索)

SEEK_CUR(从当前位置开始搜索)

SEEK_END(从文件的结束处开始搜索)

fseek()成功时返回0,失败时返回非零。

C标准并没有提供在屏幕上定位光标的方法,其原因很多。C被设计成能在各种各样的计算机上工作,而其中的许多机型都有不同的屏幕类型。例如,在行式打印终端上,不能向上移动光标;一个嵌入式系统甚至也可能是用c编写的,而在它的应用场合可能根本就没有屏幕。尽管这样,在屏幕上定位光标对你的程序来说还是有用的。你可能希望给用户一个吸引人的视觉效果,并且只能通过移动光标来实现;你还可能想用相应的输出命令尝试一点动画效果。尽管这方面没有标准的处理方法,但还是有好几种方法可以解决这个问题。首先,编译程序的开发者会提供一个函数库,专门处理基于他们的编译程序的屏幕输出 *** 作,其中肯定会有定位光标的函数。但是,很多人认为这是最差的解决办法,因为每一个开发商都可以自由地开发自己的实现方法,所以在一种编译程序上开发的程序,当移到另一种编译程序上时,几乎必然要重写,更别说移到另一种计算机上了。其次,可以定义一套标准的库函数,并使编译程序的开发者在他的编译程序中实现这套函数。流行的Curses软件包就起源于这种思路。在大多数计算机和编译程序中都可以使用Curses,因此,用Curses实现屏幕输出的程序在大多数计算机和编译程序中都可以工作。第三,你可以利用这样一个事实,即你想打印到其上的设备会用一种特定的方式解释你送过去的字符。终端(或屏幕)应设计成按一种标准方式去解释送给它们的字符,这就是ANSI标准。

设置CMD窗口光标位置

void setxy(int x, int y)  //x,y为光标座标

{

   COORD coord = {x, y}

   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8134684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存