如何只让部分字符动,部分不动

// 比如在"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;

}

// 注意这是在同一行中输出。我失败了。

用回退符应该就可以了吧。试试用“\b”回退一个字符看看

" 用回退符应该就可以了吧。试试用“\b”回退一个字符看看"?

我早就试了,0-9可以,10以上不行了。在输出的时候10是1和0两个字符!

可以用‘\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;
}