Я хочу напечатать огромный массив строк, так сказать, страницу за страницей, но чтобы пропустить страницы, мне не нужно было нажимать ввод.Единственным разумным решением, которое я нашел в Интернете, было использование "stty raw".Тем не менее, я в конечном итоге с этим кодом
void printAux(char** Strings, int init, int fim){
system("clear");
for(int i = init; i < fim; i++){
printf("%s\n", Strings[i]);
}
}
void printStrings(char** Strings, int tam){
int j = 0;
int i = 0;
char c;
system("stty raw");
printAux(Strings, 0, (tam >= 20 ? 20 : tam));
while((c = getchar()) != 'q'){
if(c == 'a'){
i-= 20;
i = (i < 0 ? 0 : i);
}
else if (c == 'd'){
i += 20;
i = (i > tam ? i - 20 : i);
}
printAux(Strings, i, (i + 20 >= tam ? tam : i + 20));
}
system("stty cooked");
}
Он печатает их очень хорошо, но он печатает их так, как это
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Строки начинают печатать в строке, где последнийодин закончился.Я бы хотел, чтобы все было слева от экрана.Любая помощь будет очень ценится