Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何获取文件的光标位置并对其进行更改?_C_File_Text_Cursor - Fatal编程技术网

C 如何获取文件的光标位置并对其进行更改?

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

我正在用C编写一个简单的文本编辑器,我定义了一个名为node的结构,并创建了一个名为textbuffer的链表。我正在尝试为文本编辑器创建一个插入函数。以下是迄今为止的代码:

#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上,您可能想要使用。