moveto函数 ToGeoJSON函数
很多朋友对于moveto函数和ToGeoJSON函数不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
c语言 图形函数
图形函数 1.图形模式的初始化
不同的显示器适配器有不同的图形分辨率。即是同一显示器适配器,在不同
模式下也有不同分辨率。因此,在屏幕作图之前,必须根据显示器适配器种类将
显示器设置成为某种图形模式,在未设置图形模式之前,微机系统默认屏幕为文
本模式(80列, 25行字符模式),此时所有图形函数均不能工作。设置屏幕为图形
模式,可用下列图形初始化函数:
void far initgraph(int far*gdriver, int far*gmode, char*path);
其中gdriver和gmode分别表示图形驱动器和模式, path是指图形驱动程序所
在的目录路径。有关图形驱动器、图形模式的符号常数及对应的分辨率见表2。
图形驱动程序由Turbo C出版商提供,文件扩展名为.BGI。根据不同的图形
适配器有不同的图形驱动程序。例如对于EGA、 VGA图形适配器就调用驱动程序
EGAVGA.BGI。例4.使用图形初始化函数设置VGA高分辨率图形模式
#include<graphics.h>
int main()
{
int gdriver, gmode;
gdriver=VGA;
gmode=VGAHI;
initgraph(&gdriver,&gmode,"c:\\tc");
bar3d(100, 100, 300, 250, 50, 1);/*画一长方体*/
getch();
closegraph();
return 0;
}
有时编程者并不知道所用的图形显示器适配器种类,或者需要将编写的程序
用于不同图形驱动器, Turbo C提供了一个自动检测显示器硬件的函数,其调用
格式为:
void far detectgraph(int*gdriver,*gmode);
其中gdriver和gmode的意义与上面相同。
例5.自动进行硬件测试后进行图形初始化
#include<graphics.h>
int main()
{
int gdriver, gmode;
detectgraph(&gdriver,&gmode);/*自动测试硬件*/
printf("the graphics driver is%d, mode is%d\n", gdriver,
gmode);/*输出测试结果*/
getch();
initgraph(&gdriver,&gmode,"c:\\tc");
/*根据测试结果初始化图形*/
bar3d(10, 10, 130, 250, 20, 1);
getch();
closegraph();
return 0;
}
上例程序中先对图形显示器自动检测,然后再用图形初始化函数进行初始化
设置,但Turbo C提供了一种更简单的方法,即用gdriver= DETECT语句后再跟
initgraph()函数就行了。采用这种方法后,上例可改为:
例6.
#include<graphics.h>
int main()
{
int gdriver=DETECT, gmode;
initgraph(&gdriver,&gmode,"c:\\tc");
bar3d(50, 50, 150, 30, 1);
getch();
closegraph();
return 0;
}
另外, Turbo C提供了退出图形状态的函数closegraph(),其调用格式为:
void far closegraph(void);
调用该函数后可退出图形状态而进入文本方式(Turbo C默认方式),并释放
用于保存图形驱动程序和字体的系统内存。
2.独立图形运行程序的建立
Turbo C对于用initgraph()函数直接进行的图形初始化程序,在编译和链接
时并没有将相应的驱动程序(*.BGI)装入到执行程序,当程序进行到intitgraph()
语句时,再从该函数中第三个形式参数char*path中所规定的路径中去找相应的
驱动程序。若没有驱动程序,则在C:\TC中去找,如C:\TC中仍没有或TC不存在,
将会出现错误:
BGI Error: Graphics not initialized(use'initgraph')
因此,为了使用方便,应该建立一个不需要驱动程序就能独立运行的可执行
图形程序,Turbo C中规定用下述步骤(这里以EGA、VGA显示器为例):
1.在C:\TC子目录下输入命令:BGIOBJ EGAVGA
此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。
2.在C:\TC子目录下输入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA
此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。
3.在程序中initgraph()函数调用之前加上一句:
registerbgidriver(EGAVGA_driver):
该函数告诉连接程序在连接时把EGAVGA的驱动程序装入到用户的执行程序中。
经过上面处理,编译链接后的执行程序可在任何目录或其它兼容机上运行。
假设已作了前两个步骤,若再向例6中加 registerbgidriver()函数则变成:
例7:
#include<stdio.h>
#include<graphics.h>
int main()
{
int gdriver=DETECT,gmode;
registerbgidriver(EGAVGA_driver):/*建立独立图形运行程序*/
initgraph( gdriver, gmode,"c:\\tc");
bar3d(50,50,250,150,20,1);
getch();
closegraph();
return 0;
}
上例编译链接后产生的执行程序可独立运行。
如不初始化成EGA或CGA分辨率,而想初始化为CGA分辨率,则只需要将上述
步骤中有EGAVGA的地方用CGA代替即可。
3.屏幕颜色的设置和清屏函数
对于图形模式的屏幕颜色设置,同样分为背景色的设置和前景色的设置。在
Turbo C中分别用下面两个函数。
设置背景色: void far setbkcolor( int color);
设置作图色: void far setcolor(int color);
其中color为图形方式下颜色的规定数值,对EGA, VGA显示器适配器,有关
颜色的符号常数及数值见下表所示。
表3有关屏幕颜色的符号常数表
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
符号常数数值含义符号常数数值含义
———————————————————————————————————
BLACK 0黑色 DARKGRAY 8深灰
BLUE 1兰色 LIGHTBLUE 9深兰
GREEN 2绿色 LIGHTGREEN 10淡绿
CYAN 3青色 LIGHTCYAN 11淡青
RED 4红色 LIGHTRED 12淡红
MAGENTA 5洋红 LIGHTMAGENTA 13淡洋红
BROWN 6棕色 YELLOW 14黄色
LIGHTGRAY 7淡灰 WHITE 15白色
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
对于CGA适配器,背景色可以为表3中16种颜色的一种,但前景色依赖于不同
的调色板。共有四种调色板,每种调色板上有四种颜色可供选择。不同调色板所
对应的原色见表4。
表4 CGA调色板与颜色值表
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
调色板颜色值
—————————————————————————————
符号常数数值 0 1 2 3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
C0 0背景绿红黄
C1 1背景青洋红白
C2 2背景淡绿淡红黄
C3 3背景淡青淡洋红白
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
清除图形屏幕内容使用清屏函数,其调用格式如下:
voide far cleardevice(void);
另外, TURBO C也提供了几个获得现行颜色设置情况的函数。
int far getbkcolor(void);返回现行背景颜色值。
int far getcolor(void);返回现行作图颜色值。
int far getmaxcolor(void);返回最高可用的颜色值。
4.基本图形函数
基本图形函数包括画点,线以及其它一些基本图形的函数。本节对这些函数
作一全面的介绍。
一、画点
1.画点函数
void far putpixel(int x, int y, int color);
该函数表示有指定的象元画一个按color所确定颜色的点。对于颜色color的
值可从表3中获得而对x, y是指图形象元的坐标。
在图形模式下,是按象元来定义坐标的。对VGA适配器,它的最高分辨率为
640x480,其中640为整个屏幕从左到右所有象元的个数, 480为整个屏幕从上到
下所有象元的个数。屏幕的左上角坐标为(0, 0),右下角坐标为(639, 479),水
平方向从左到右为x轴正向,垂直方向从上到下为y轴正向。TURBO C的图形函数
都是相对于图形屏幕坐标,即象元来说的。
关于点的另外一个函数是:
int far getpixel(int x, int y);
它获得当前点(x, y)的颜色值。
2.有关坐标位置的函数
int far getmaxx(void);
返回x轴的最大值。
int far getmaxy(void);
返回y轴的最大值。
int far getx(void);
返回游标在x轴的位置。
void far gety(void);
返回游标有y轴的位置。
void far moveto(int x, int y);
移动游标到(x, y)点,不是画点,在移动过程中亦画点。
void far moverel(int dx, int dy);
移动游标从现行位置(x, y)移动到(x+dx, y+dy)的位置,移动过程中不画点。
二、画线
1.画线函数
TURBO C提供了一系列画线函数,下面分别叙述:
void far line(int x0, int y0, int x1, int y1);
画一条从点(x0, y0)到(x1, y1)的直线。
void far lineto(int x, int y);
画一作从现行游标到点(x, y)的直线。
void far linerel(int dx, int dy);
画一条从现行游标(x, y)到按相对增量确定的点(x+dx, y+dy)的直线。
void far circle(int x, int y, int radius);
以(x, y)为圆心, radius为半径,画一个圆。
void far arc(int x, int y, int stangle, int endangle, int radius);
以(x, y)为圆心, radius为半径,从stangle开始到endangle结束(用度表示)
画一段圆弧线。在TURBO C中规定x轴正向为0度,逆时针方向旋转一周,依次为
90, 180, 270和360度(其它有关函数也按此规定,不再重述)。
void ellipse(int x, int y, int stangle, int endangle, int xradius,
int yradius);
以(x, y)为中心, xradius, yradius为x轴和y轴半径,从角stangle开始到
endangle结束画一段椭圆线,当stangle=0, endangle=360时,画出一个完整的
椭圆。
void far rectangle(int x1, int y1, int x2, inty2);
以(x1, y1)为左上角,(x2, y2)为右下角画一个矩形框。
void far drawpoly(int numpoints, int far*polypoints);
画一个顶点数为numpoints,各顶点坐标由polypoints给出的多边形。
polypoints整型数组必须至少有2倍顶点数个无素。每一个顶点的坐标都定义为x,
y,并且x在前。值得注意的是当画一个封闭的多边形时, numpoints的值取实际
多边形的顶点数加一,并且数组polypoints中第一个和最后一个点的坐标相同。
下面举一个用drawpoly()函数画箭头的例子。
例9:
#include<stdlib.h>
#include<graphics.h>
int main()
{
int gdriver, gmode, i;
int arw[16]={200, 102, 300, 102, 300, 107, 330,
100, 300, 93, 300, 98, 200, 98, 200, 102};
gdriver=DETECT;
registerbgidriver(EGAVGA_driver);
initgraph(&gdriver,&gmode,"");
setbkcolor(BLUE);
cleardevice();
setcolor(12);/*设置作图颜色*/
drawpoly(8, arw);/*画一箭头*/
getch();
closegraph();
return 0;
}
2.设定线型函数
在没有对线的特性进行设定之前, TURBO C用其默认值,即一点宽的实线,
但TURBO C也提供了可以改变线型的函数。线型包括:宽度和形状。其中宽度只有
两种选择:一点宽和三点宽。而线的形状则有五种。下面介绍有关线型的设置函
数。
void far setlinestyle(int linestyle, unsigned upattern, int
thickness);
该函数用来设置线的有关信息,其中linestyle是线形状的规定,见表5。
表5.有关线的形状(linestyle)
━━━━━━━━━━━━━━━━━━━━━━━━━
符号常数数值含义
—————————————————————————
SOLID_LINE 0实线
DOTTED_LINE 1点线
CENTER_LINE 2中心线
DASHED_LINE 3点画线
USERBIT_LINE 4用户定义线
━━━━━━━━━━━━━━━━━━━━━━━━━
thickness是线的宽度,见表6。
表6.有关线宽(thickness)
━━━━━━━━━━━━━━━━━━━━━━━━━
符号常数数值含义
—————————————————————————
NORM_WIDTH 1一点宽
THIC_WIDTH 3三点宽
━━━━━━━━━━━━━━━━━━━━━━━━━
对于upattern,只有linestyle选USERBIT_LINE时才有意义(选其它线型,
uppattern取0即可)。此进uppattern的16位二进制数的每一位代表一个象元,如
果那位为1,则该象元打开,否则该象元关闭。
void far getlinesettings(struct linesettingstype far*lineinfo);
该函数将有关线的信息存放到由lineinfo指向的结构中,表中
linesettingstype的结构如下:
struct linesettingstype{
int linestyle;
unsigned upattern;
int thickness;
}
例如下面两句程序可以读出当前线的特性
struct linesettingstype*info;
getlinesettings(info);
void far setwritemode(int mode);
该函数规定画线的方式。如果mode=0,则表示画线时将所画位置的原来信息
覆盖了(这是TURBO C的默认方式)。如果mode=1,则表示画线时用现在特性的线
与所画之处原有的线进行异或(XOR)操作,实际上画出的线是原有线与现在规定
的线进行异或后的结果。因此,当线的特性不变,进行两次画线操作相当于没有
画线。
有关线型设定和画线函数的例子如下所示。
例10.
#include<stdlib.h>
#include<graphics.h>
int main()
{
int gdriver, gmode, i;
gdriver=DETECT;
registerbgidriver(EGAVGA_driver);
initgraph(&gdriver,&gmode,"");
setbkcolor(BLUE);
cleardevice();
setcolor(GREEN);
circle(320, 240, 98);
setlinestyle(0, 0, 3);/*设置三点宽实线*/
setcolor(2);
rectangle(220, 140, 420, 340);
setcolor(WHITE);
setlinestyle(4, 0xaaaa, 1);/*设置一点宽用户定义线*/
line(220, 240, 420, 240);
line(320, 140, 320, 340);
getch();
closegraph();
return 0;
}
5.封闭图形的填充
填充就是用规定的颜色和图模填满一个封闭图形。
一、先画轮廓再填充
TURBO C提供了一些先画出基本图形轮廓,再按规定图模和颜色填充整个封
闭图形的函数。在没有改变填充方式时, TURBO C以默认方式填充。下面介绍这
些函数。
void far bar(int x1, int y1, int x2, int y2);
确定一个以(x1, y1)为左上角,(x2, y2)为右下角的矩形窗口,再按规定图
模和颜色填充。
说明:此函数不画出边框,所以填充色为边框。
void far bar3d(int x1, int y1, int x2, int y2, int depth, int
topflag);
当topflag为非0时,画出一个三维的长方体。当topflag为0时,三维图形不
封顶,实际上很少这样使用。
说明: bar3d()函数中,长方体第三维的方向不随任何参数而变,即始终为
45度的方向。
void far pieslice(int x, int y, int stangle, int endangle, int
radius);
画一个以(x, y)为圆心, radius为半径, stangle为起始角度, endangle为
终止角度的扇形,再按规定方式填充。当stangle=0, endangle=360时变成一个
实心圆,并在圆内从圆点沿X轴正向画一条半径。
void far sector(int x, int y, int stanle, intendangle, int
xradius, int yradius);
画一个以(x, y)为圆心分别以xradius, yradius为x轴和y轴半径, stangle
为起始角, endangle为终止角的椭圆扇形,再按规定方式填充。
二、设定填充方式
TURBO C有四个与填充方式有关的函数。下面分别介绍:
void far setfillstyle(int pattern, int color);
color的值是当前屏幕图形模式时颜色的有效值。pattern的值及与其等价的
符号常数除USER_FILL(用户定义填充式样)以外,其它填充式样均可由setfillstyle()
函数设置。当选用USER_FILL时,该函数对填充图模和颜色不作任何改变。之所
以定义USER_FILL主要因为在获得有关填充信息时用到此项。
void far setfillpattern(char* upattern,int color);
设置用户定义的填充图模的颜色以供对封闭图形填充。
其中upattern是一个指向8个字节的指针。这8个字节定义了8x8点阵的图形。
每个字节的8位二进制数表示水平8点, 8个字节表示8行,然后以此为模型向个封
闭区域填充。
void far getfillpattern(char* upattern);
该函数将用户定义的填充图模存入upattern指针指向的内存区域。
void far getfillsetings(struct fillsettingstype far* fillinfo);
获得现行图模的颜色并将存入结构指针变量fillinfo中。其中fillsettingstype
结构定义如下:
struct fillsettingstype{
int pattern;/*现行填充模式*/
int color;/*现行填充模式*/
};
三、任意封闭图形的填充
截止目前为止,我们只能对一些特定形状的封闭图形进行填充,但还不能对
任意封闭图形进行填充。为此, TURBO C提供了一个可对任意封闭图形填充的函
数,其调用格式如下:
void far floodfill(int x, int y, int border);
其中: x, y为封闭图形内的任意一点。border为边界的颜色,也就是封闭图
形轮廓的颜色。调用了该函数后,将用规定的颜色和图模填满整个封闭图形。例12:
#include<stdlib.h>
#include<graphics.h>
main()
{
int gdriver, gmode;
strct fillsettingstype save;
gdriver=DETECT;
initgraph(&gdriver,&gmode,"");
setbkcolor(BLUE);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,3);
setfillstyle(1,14);/*设置填充方式*/
bar3d(100,200,400,350,200,1);/*画长方体并填充*/
floodfill(450,300,LIGHTRED);/*填充长方体另外两个面*/
floodfill(250,150, LIGHTRED);
rectanle(450,400,500,450);/*画一矩形*/
floodfill(470,420, LIGHTRED);/*填充矩形*/
getch();
closegraph();
}
6.有关图形窗口和图形屏幕操作函数
一、图形窗口操作
象文本方式下可以设定屏幕窗口一样,图形方式下也可以在屏幕上某一区域
设定窗口,只是设定的为图形窗口而已,其后的有关图形操作都将以这个窗口的
左上角(0,0)作为坐标原点,而且可为通过设置使窗口之外的区域为不可接触。
这样,所有的图形操作就被限定在窗口内进行。
void far setviewport(int xl,int yl,int x2, int y2,int clipflag);
设定一个以(xl,yl)象元点为左上角,(x2,y2)象元为右下角的图形窗口,其
中x1,y1,x2,y2是相对于整个屏幕的坐标。若clipflag为非0,则设定的图形以外
部分不可接触,若clipflag为0,则图形窗口以外可以接触。
void far clearviewport(void);
清除现行图形窗口的内容。
void far getviewsettings(struct viewporttype far* viewport);
获得关于现行窗口的信息,并将其存于viewporttype定义的结构变量viewport
中,其中viewporttype的结构说明如下:
struct viewporttype{
int left, top, right, bottom;
int cliplag;
};
二、屏幕操作
除了清屏函数以外,关于屏幕操作还有以下函数:
void far setactivepage(int pagenum);
void far setvisualpage(int pagenum);
这两个函数只用于EGA,VGA以及HERCULES图形适配器。setctivepage()函数
是为图形输出选择激活页。所谓激活页是指后续图形的输出被写到函数选定的
pagenum页面,该页面并不一定可见。setvisualpage()函数才使pagenum所指定
的页面变成可见页。页面从0开始(Turbo C默认页)。如果先用setactivepage()
函数在不同页面上画出一幅幅图像,再用setvisualpage()函数交替显示,就可以
实现一些动画的效果。
void far getimage(int xl,int yl, int x2,int y2, void far*mapbuf);
void far putimge(int x,int,y,void* mapbuf, int op);
unsined far imagesize(int xl,int yl,int x2,int y2);
这三个函数用于将屏幕上的图像复制到内存,然后再将内存中的图像送回到
屏幕上。首先通过函数imagesize()测试要保存左上角为(xl,yl),右上角为(x2,
y2)的图形屏幕区域内的全部内容需多少个字节,然后再给mapbuf分配一个所测
数字节内存空间的指针。通过调用getimage()函数就可将该区域内的图像保存在
内存中,需要时可用putimage()函数将该图像输出到左上角为点(x, y)的位置上,
其中getimage()函数中的参数op规定如何释放内存中图像。
对于imagesize()函数,只能返回字节数小于64K字节的图像区域,否则将会
出错,出错时返回-1。
本节介绍的函数在图像动画处理、菜单设计技巧中非常有用。
例13:下面程序模拟两个小球动态碰撞过程。
7.图形模式下的文本输出
在图形模式下,只能用标准输出函数,如printf(), puts(), putchar()函
数输出文本到屏幕。除此之外,其它输出函数(如窗口输出函数)不能使用,即是
可以输出的标准函数,也只以前景色为白色,按80列, 25行的文本方式输出。
Turbo C2.0也提供了一些专门用于在图形显示模式下的文本输出函数。下面
将分别进行介绍。
一、文本输出函数
void far outtext(char far*textstring);
该函数输出字符串指针textstring所指的文本在现行位置。
void far outtextxy(int x, int y, char far*textstring);
该函数输出字符串指针textstring所指的文本在规定的(x, y)位置。其中x
和y为象元坐标。
说明:
这两个函数都是输出字符串,但经常会遇到输出数值或其它类型的数据,
此时就必须使用格式化输出函数sprintf()。
sprintf()函数的调用格式为:
int sprintf(char*str, char*format, variable-list);
它与printf()函数不同之处是将按格式化规定的内容写入str指向的字符串
中,返回值等于写入的字符个数。
例如:
sprintf(s,"your TOEFL score is%d", mark);
这里s应是字符串指针或数组, mark为整型变量。
movetothread后如何终止
在Qt中使用moveToThread后终止线程的方法主要有两种:通过设置标志位并调用quit()和wait()函数,以及使用terminate()函数强制停止(但通常不推荐)。
一、通过设置标志位并调用quit()和wait()函数
这种方法更安全、更可靠,适用于大多数情况。
设置标志位:在线程的工作函数中定期检查一个标志位,如果标志位被设置为停止,则线程可以安全地退出其事件循环。这个标志位通常是一个原子变量或者由互斥锁保护的变量,以确保线程安全。调用quit()函数:当需要停止线程时,设置标志位为停止状态,并调用线程的quit()函数来停止线程的事件循环。调用wait()函数:在调用quit()之后,使用wait()函数来等待线程结束,确保线程资源被正确释放。二、使用terminate()函数强制停止
这种方法通常不推荐,因为它可能导致资源泄露或其他未定义行为。但在某些极端情况下,如果线程无法响应其他停止信号,或者需要立即停止以避免更大的损失,可以考虑使用这种方法。
调用terminate()函数:直接调用线程的terminate()函数来强制停止线程。调用wait()函数:在调用terminate()之后,必须立即调用wait()函数来避免资源泄露。在terminate()之后调用wait()可以确保线程对象被正确删除,并释放相关资源。注意事项:
在选择终止线程的方法时,应优先考虑使用标志位和quit()/wait()组合,因为它更安全、更可靠。如果确实需要强制停止线程,请确保在调用terminate()后调用wait()来避免资源泄露,并在之后删除线程对象。当应用程序的GUI关闭时,需要确保线程能够正确退出,这通常涉及到在窗口的closeEvent()中执行线程停止的逻辑。
VB中seek函数和loc函数的问题!!!
SeeK可以查询一个记录,也可以定位一个字节,这根据自己打开文件读取的方式而定。LOC总是读取字节首先看看seek的用法:本示例使用
Seek
函数返回当前文件位置。本示例假定
TestFile
是包含
Record
结构记录的文件。Visual
Basic
复制代码
Structure
Record
'
Define
user-defined
type.
Dim
ID
As
Integer
Dim
Name
As
String
End
Structure
对于以
Random
模式打开的文件,Seek
返回下一个记录号。Visual
Basic
复制代码
FileOpen(1,
"TESTFILE",
OpenMode.Random)
Do
While
Not
EOF(1)
WriteLine(1,Seek(1))
'
Write
record
number.
FileGet(1,
MyRecord,
-1)
'
Read
next
record.
Loop
FileClose(1)
对于以
Random
模式以外的模式打开的文件,Seek
返回发生下一个操作的字节位置。假定
TestFile
是包含几行文本的文件。Visual
Basic
复制代码
'
Report
character
position
at
beginning
of
each
line.
Dim
TextLine
As
String
FileOpen(1,
"TESTFILE",
OpenMode.Input)
'
Open
file
for
reading.
While
Not
EOF(1)
'
Read
next
line.
TextLine
=
LineInput(1)
'
Position
of
next
line.
MsgBox(Seek(1))
End
While
FileClose(1)
本示例使用
Seek
函数在文件内设置下一个读取或写入位置。本示例假定
People.txt
是包含
Record
结构记录的文件。Visual
Basic
复制代码
Structure
TestRecord
Dim
Name
As
String
Dim
ID
As
Integer
End
Structure
对于以
Random
模式以外的模式打开的文件,Seek
设置发生下一个操作的字节位置。假定
TestFile
是包含几行文本的文件。Visual
Basic
复制代码
Dim
someText
As
String
=
"This
is
a
test
string."
'
Open
file
for
output.
FileOpen(1,
"TESTFILE",
OpenMode.Input)
'
Move
to
the
third
character.
Seek(1,
3)
Input(1,
someText)
Console.WriteLine(someText)
FileClose(1)再来看LOC的用法:本示例使用
Loc
函数返回打开文件中的当前读/写位置。本示例假设
MyFile
是包含几行示例数据的文本文件。Visual
Basic
复制代码
Dim
location
As
Long
Dim
oneChar
As
Char
FileOpen(1,
"C:\TESTFILE.TXT",
OpenMode.Binary)
While
location
<
LOF(1)
Input(1,
oneChar)
location
=
Loc(1)
WriteLine(1,
location
&
ControlChars.CrLf)
End
While
FileClose(1)
如果你还想了解更多这方面的信息,记得收藏关注本站。