用C语言制作带有可移动字符的带边框方框
我有两个问题,我正在学习C语言,我想我应该休息一下,试着把我学到的东西用在测试中。但后来我被卡住了 第一个问题是创建一个空框。我似乎不能这样做。我可以创建一个框,缺少底部部分,但它由“*”填充,如果我只做用C语言制作带有可移动字符的带边框方框,c,C,我有两个问题,我正在学习C语言,我想我应该休息一下,试着把我学到的东西用在测试中。但后来我被卡住了 第一个问题是创建一个空框。我似乎不能这样做。我可以创建一个框,缺少底部部分,但它由“*”填充,如果我只做',那么c编译器会声明:Create\u border.c:12:14:错误:预期表达式 第二个问题是,我不知道如何连接到键盘,这样当我上下左右按下一个字符时,@在这种情况下,当它移动到边缘时,它就会停止 到目前为止,我只知道: #include <stdio.h> #define
'
,那么c编译器会声明:Create\u border.c:12:14:错误:预期表达式
第二个问题是,我不知道如何连接到键盘,这样当我上下左右按下一个字符时,@
在这种情况下,当它移动到边缘时,它就会停止
到目前为止,我只知道:
#include <stdio.h>
#define MAX_Y 6
#define MAX_X 6
void print_board(char board[MAX_Y][MAX_X]);
int main(int argc, char *argv[]) {
char exampleBoard[MAX_Y][MAX_X] = {
{'x','-','-','-','-','x'},
{'|','*','*','*','*','|'},
{'|','*','*','*','*','|'},
{'|','*','*','*','*','|'},
{'|','*','*','*','*','|'},
{'x','-','-','-','-','x'}
};
print_board(exampleBoard);
return 0;
}
void print_board(char board[MAX_Y][MAX_X]) {
int row = 0;
int col = 0;
for(row = 0; row < MAX_Y; row++) {
for(col = 0; col < MAX_X; col++) {
printf("%c", board[row][col]);
}
printf("\n");
}
printf("\n\n");
}
因此,以下是我的期望:
- 一个空框,框中任何地方都没有
和“*”
字符。@
- 移动
并在到达边界时停止的能力。@
'
而不是'
来编写它
然后,为了读取键盘,您可以直接从终端使用syscall进行读取。但是,终端的默认配置将迫使您在每个键之间按enter
,以使您的读取工作
注意:您可以使用类似的库使这种ASCII编程更简单。您可以用'
(空格字符)替换'
。还有,你能告诉我你在用什么操作系统吗?因为不同操作系统的箭头键代码不同。
x----x
|****|
|****|
|****|
|****|