为什么运行不出来呢?

Big鹏 2008-03-08 03:51:14
以下程序为什么运行不出来,难道LINUX 下没有conio.h?
#include <stdio.h>
#include <conio.h>
int main()
{
int i;
for(i=0;i <8;i++)
{ textbackground(i);
cprintf("this is color %d \r\n",i);
cprintf("press enter to continue:\r\n);
getch();
}
return 0;
}
...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yang22feng 2010-07-16
  • 打赏
  • 举报
回复
mark
Skt32 2008-03-30
  • 打赏
  • 举报
回复
有时候为了实现在终端输出的时候字体能够带颜色,并且可以产生简单的闪烁的功能,特写了下列的代码
实现hello world的带颜色的输出,并且每过一秒产生一个闪烁的功能.

[Copy to clipboard] [ - ]CODE:
#include<stdio.h>
#include<unistd.h>
#include<signal.h>
#include<stdlib.h>

int flag = 0;

void sig_int(int signum)
{
if (flag == 1)
fprintf(stderr, "\033[47;31mhello world\033[5m");
fprintf(stderr,"\033[;\033[0m");
fprintf(stderr,"\033[;\033[0m");
printf("\n");
exit(0);
}

int main()
{
int i = 0;
struct sigaction sig_act;
sig_act.sa_handler = sig_int;
sigemptyset(&sig_act.sa_mask);
sig_act.sa_flags = 0;
if (sigaction(SIGINT, &sig_act, NULL) < 0)
{
fprintf(stderr, "signal error\n");
exit(1);
}
while (i++ < 10)
{
fprintf(stderr, "\033[;\033[s"); /*使用stderr是因为其是不带缓存的*/
fprintf(stderr, "\033[47;31mhello world\033[5m");
flag = 0;
sleep(1);
fprintf(stderr, "\033[;\033[u");
fprintf(stderr, "\033[;\033[K");
flag = 1;
sleep(1);
}

fprintf(stderr, "\033[47;31mhello world\033[5m");
fprintf(stderr,"\033[;\033[0m");
printf("\n");
return 0;
}
该程序实现输出十次hello world然后退出. 使用一个信号是为了还原默认的终端输出的颜色.
另外再讲讲如何输出颜色以及颜色的代码.

格式:

[Copy to clipboard] [ - ]CODE:
printf("\033[字背景颜色;字体颜色m字符串\033[0m" );

printf("\033[47;31mhello world\033[5m");
47是字背景颜色, 31是字体的颜色, hello world是字符串. 后面的\033[5m是控制码.
颜色代码:

QUOTE:
字背景颜色范围: 40--49 字颜色: 30--39
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
ANSI控制码:

QUOTE:
\033[0m 关闭所有属性
\033[1m 设置高亮度
\03[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m -- \033[37m 设置前景色
\033[40m -- \033[47m 设置背景色
\033[nA 光标上移n行
\03[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\33[?25h 显示光标
这样, 在某些时候就可以实现动态的输出.
Treazy 2008-03-08
  • 打赏
  • 举报
回复
如果要在linux下进行图形开发,那就只能用curses或者gtk+,qt这样的开发包
Big鹏 2008-03-08
  • 打赏
  • 举报
回复
那么在LINUX 下如何运行出图形程序?
arong1234 2008-03-08
  • 打赏
  • 举报
回复
当然没有。conio.h似乎只有TC中有,其他编译器我都没见过这个文件。
星羽 2008-03-08
  • 打赏
  • 举报
回复
有出错信息吗?
Treazy 2008-03-08
  • 打赏
  • 举报
回复
conio.h是tc 下特有的头文件

linux下是没有的!

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧