c - 对角线而不是左侧打印字符串
问题描述
我想打印一个巨大的字符串数组,可以说是逐页打印,但是要跳过我不想按回车键的页面。我在网上找到的唯一合理的解决方案是使用“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
这些行从最后一行结束的行开始打印。我希望它都在屏幕的左侧。任何帮助将不胜感激
解决方案
解决方案是更换
printf("%s\n", String[i]);
为了
printf("%s\r\n", String[i]);
推荐阅读
- icons - react-native-vector-icons 在 Expo 项目中不起作用
- css - 在表单中对齐选择和输入
- webrtc - navigator.mediaDevices.enumerateDevices() 仅返回 Safari 上的默认设备?
- mysql - 无法使用 datediff 返回正确的行
- laravel - 在同一服务器中创建-react-app + Laravel
- javascript - 回调未正确更新状态(ReactJS)
- javascript - 如何使用开始最小化的 html、css、jquery 和 php 创建响应表单?
- assembly - MOVZX 缺少 32 位寄存器到 64 位寄存器
- spring-boot - Spring Boot Soap WSDL 不包含任何 wsdl:portType 部分
- git - 有没有办法将 git repo 合并到现有目录中?