C 如何获取文件的光标位置并对其进行更改?
我正在用C编写一个简单的文本编辑器,我定义了一个名为node的结构,并创建了一个名为textbuffer的链表。我正在尝试为文本编辑器创建一个插入函数。以下是迄今为止的代码:C 如何获取文件的光标位置并对其进行更改?,c,file,text,cursor,C,File,Text,Cursor,我正在用C编写一个简单的文本编辑器,我定义了一个名为node的结构,并创建了一个名为textbuffer的链表。我正在尝试为文本编辑器创建一个插入函数。以下是迄今为止的代码: #include <stdio.h> #include <string.h> struct node { char statement[40]; int next; }; struct node textbuffer[25]; void insert(int line, ch
#include <stdio.h>
#include <string.h>
struct node
{
char statement[40];
int next;
};
struct node textbuffer[25];
void insert(int line, char* stat)
{
FILE *file;
file=fopen("texteditor.txt","a");
if(file!=NULL)
{
int i;
int k;
strcpy(textbuffer[line].statement,stat);
textbuffer[line].next=line+1;
fprintf(file,textbuffer[line].statement);
}
else
{
printf("File couldn't found.");
}
fclose(file);
}
现在我需要获取文件中当前光标的位置,例如,当输入为w时,我需要向上移动光标,或者当输入为z时,我需要向下移动光标并在那里写入一些文本。如果我用照片解释:
我尝试使用wherex和wherey方法来实现这一点,但conio.h库在linux中不起作用。我必须使用conio.h库中的方法来完成吗?如果是,怎么做?或者还有其他方法吗?您可以使用转义序列执行各种光标操作和更多屏幕操作插入、删除、清除、选择颜色等操作。这可以在Linux下使用库来完成,该库几乎可以在任何终端上完成。但今天,大多数(如果不是所有的话)终端都支持从ANSI、VT100和VT52继承的XTerm转义序列。这也适用于Windows 10。有关更多信息,请查看此文件
您也可以看看这个。在Linux上,您可能想要使用。