关于C语言输出时的自动换行

HighHill_Cen 2007-06-21 04:11:25
我要在屏幕上输出一个很长的字符串。在输出的时候,系统会自动进行换行,因为屏幕的宽度 够,我怎么样在它换行时输出一个tab
...全文
1293 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanb99 2007-07-03
  • 打赏
  • 举报
回复
关注中
HighHill_Cen 2007-07-03
  • 打赏
  • 举报
回复
在windows下可以通过api GetBufferScreenInfo获取一行的宽度, 不知道linux下对应是哪个函数可以获取一行可以最多输出多少个字符
xxyifan 2007-06-22
  • 打赏
  • 举报
回复
楼主觉得C编译器是万能的吗?
中国的人民币也只是1/2/5/10块的,没有一样一种的
HighHill_Cen 2007-06-22
  • 打赏
  • 举报
回复
请问如何获取 dos cmd 和shell teminial 每行可以输出的字符的数目
huashizhixin 2007-06-21
  • 打赏
  • 举报
回复
应该要自己计算好
在需要的地方printf("\n")
HighHill_Cen 2007-06-21
  • 打赏
  • 举报
回复
请问75是哪里来的,80-5吗,但是系统控制台的大小是可以改变的,特别是在linux下,终端的窗口是可以拖放的。 我想是不是有可以获取其宽度的方
Inhibitory 2007-06-21
  • 打赏
  • 举报
回复
必须自己手动计算,命令行没这个功能.
星羽 2007-06-21
  • 打赏
  • 举报
回复
胡乱来

void auto_printf(char* ch)
{
char* p = ch;
int s = (strlen(ch) + 74) / 75;


for (int i = 0; i < s; i++)
{
printf("%.75s\n ", p);
p += sizeof(char) * 75;
}

}


int main(int argc, char* argv[])
{

char ch[500];

for (int i = 0; i < 500; i++)
ch[i] = 'a';
ch[499] = 0;

printf(" ");
auto_printf(ch);

return 0;
}

totoorange 2007-06-21
  • 打赏
  • 举报
回复
控制台好象是80字符*300行
最好自己控制格式吧,否则那样判断既麻烦,还容易出错,一出错就不美观啦~
HighHill_Cen 2007-06-21
  • 打赏
  • 举报
回复
只是一个C语言程序,难道我还要算下控制台的宽度啊,好麻烦啊
neosu 2007-06-21
  • 打赏
  • 举报
回复
明白楼主的意思。 你不如先手工排好版。 如果是动态生成的。 只能用算法了。
HighHill_Cen 2007-06-21
  • 打赏
  • 举报
回复
是啊,系统是根据控制台的宽度,自动换行的,我想在其换行前,缩进一些。
totoorange 2007-06-21
  • 打赏
  • 举报
回复
那这么输出来,看起来不就不对齐了?
你是想判断输出到达屏幕一行末端,输出一个 \t ?
HighHill_Cen 2007-06-21
  • 打赏
  • 举报
回复
可以啊,
bargio_susie 2007-06-21
  • 打赏
  • 举报
回复
循环控制输出tab长度个空格行不??

69,374

社区成员

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

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