【问题标题】:Why the second printf statement overlaps the first one on linux console为什么第二个 printf 语句与 Linux 控制台上的第一个语句重叠
【发布时间】:2020-10-06 08:22:09
【问题描述】:

第一个 printf 语句打印 find 但第二个与它重叠。这是什么问题,我该如何解决?

void student(char *name, char *id)
{
  char nme[50];
  strcpy(nme,name);
  //printf("%s",nme);
  nme[strcspn(nme, "\n")] = '\0';
  printf("\n\nWelcome %s ",nme);
  setvbuf(stdout, NULL, _IONBF, 0);
  printf("Loading your Account");
  int i=0;
                while (i<3) {
                        sleep(1);
                        printf(".");
                        i++;
                }

【问题讨论】:

    标签: c gcc printf


    【解决方案1】:

    可能name\r\n 结尾,因为它是在Windows 上创建的,然后在Linux 子系统中或以rb 模式读取。将strcspn cal 中的"\n" 更改为"\r\n" 可能会解决问题。

    如果您在混合系统中工作,则必须注意 Windows 行尾。在这种情况下,使用像 hd 这样的工具通常会很有帮助,它可以以十六进制和字符格式打印文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多