iamcook84
(iamcook84)
2014 年11 月 10 日 14:05
1
// 比如在"the num is a and b" 中让里面的"the num is and " 不动,只让"a" “b” 变化。
#include <unistd.h>
#include <stdio.h>
int main(int argc, char **argv)
{
printf("the nums are ");
pid_t id = fork();
if(id<0)
{
printf("error.\n");
return 0;
}
else if(id==0)
{
long int i;
for(i=0;i<1000;i++)
printf("%ld",i);
}
else
{
printf(" and");
long int j;
for(j=1000;j<10000;j++)
printf("%ld",j);
}
printf("ok.\n");
return 0;
}
// 注意这是在同一行中输出。我失败了。
qgymib
(qgymib)
2014 年11 月 10 日 18:32
2
用回退符应该就可以了吧。试试用“\b”回退一个字符看看
iamcook84
(iamcook84)
2014 年11 月 11 日 01:03
3
" 用回退符应该就可以了吧。试试用“\b”回退一个字符看看"?
我早就试了,0-9可以,10以上不行了。在输出的时候10是1和0两个字符!
恋衣之曲
(恋衣之曲)
2014 年11 月 11 日 01:23
4
可以用‘\r’字符清除掉一行,然后重新输出
#include <unistd.h>
#include <stdio.h>
void out(int a, int b)
{
printf("\r");
printf("a = %d, b = %d", a, b);
fflush(stdout);
}
int main(void)
{
int a = 1, b = 1;
while (a <= 10) {
out(a++, b);
sleep(1);
}
printf("\n");
return 0;
}