2017-05-16 8 views
-3

私は1000行というファイルを持っています。私はすでにそれを文字列のリストにロードしました。今私は画面に結果を印刷したい。しかし、私は非常に多くの行を持っているので、私は20行の "ページ"を印刷したい、そして、ユーザがenterを押すと、それは次の20行だけを表示する。 誰かがC言語でこの段階の印刷方法をヒントできますか?N行、N行、N行を印刷することは可能ですか?C言語

ありがとうございます!

編集:コードIはすでに

int i=1; 
while(_head!=NULL && i<=20) 
{ 
    printf("%s", _head->str); 
    _head=_head->next; 
    i++; 
} 
+1

を持って、あなたはこれまでに何をしましたか? –

+0

私はすべての行を印刷できるだけです。私は変数i = 20を使用しましたが、これはサイクルで印刷されるたびに減少します。しかし、私は20でそれをもう一度復元して、もう一度印刷する必要がありますか?それを行うより良い方法はありますか? –

+0

あなたがそれを持っていれば、あなたのコードをここに掲載してください。 –

答えて

1
const int LIMIT = 100; //set max limit here 
int i=1; 
while(_head!=NULL && i<=LIMIT) { 
    printf("%s", _head->str); 
    _head=_head->next; 
    i++; 
    if(i%20 == 0){ //only 20 entry per page 
     getchar();  //consume new line, won't print it 
     //write code to erase the terminal characters from (0,0) to (N,N) and start printing result again 
     // REF : http://stackoverflow.com/questions/2347770/how-do-you-clear-console-screen-in-c/7660837#7660837 
    } 
} 
関連する問題