-1

第一个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++;
                }
4

1 回答 1

3

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

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

于 2020-06-16T16:44:56.080 回答