2016-12-14 154 views
-2

我正在通过一个双链表做记事本,我做了一个游标函数,它将随着链表一起移动。但是,当我在链表中​​插入字符光标停留在一开始,即使我递增如下:光标不移动

void gotoxy(int x, int y) { 
    COORD coord; 
    coord.X = x; coord.Y = y; 
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); 
} 

int main() { 
struct DLLADT notepad; 
init(&notepad); 
char c; 

while (1) { 
    int x = 0, y = 0; 
    gotoxy(x, y); 
    c = getch(); 

    if (c == 13) { 
     insertDoubly(&notepad, '\n'); // User pressed Enter 
     y++; 
    } else { 
     insertDoubly(&notepad, c); 
     system("cls"); 
     printDoubly(&notepad); 
     x++; 
    } 
} 

return 0; 
getch(); 

我使用的代码块

+1

我投票结束这个问题作为题外话,因为它是由同一用户的上一个问题的副本:http://stackoverflow.com/q/41127896/3185968 – EOF

+0

while循环是一个神可怕的更新游标位置的方法,除此之外,它可能保持在同一个地方,因为你只有通过它0,0,因为它是协调 – George

回答

0

移动

int x = 0, y = 0; 

以上while(1)。您在每次拨打gotoxy之前将xy重置为零。

+0

非常感谢你,这真的是一个愚蠢的错误 – Sami

+0

没问题,它会发生。 –