check_name = 0;
printf("Enter the Location of the photo:\n");
fgets(location, MAX_LOCATION_SIZE, stdin);
printf("Enter the name of the photo:\n");
count = 0;
while (check_name == 0)
{
if (count > 0)
{
printf("The name is already in the list!\nChoose another one:\n"); // will not do it only for the first time
}
getchar;
fgets(name, MAX_NAME_SIZE, stdin);
check_name = checkName(frameList, name);
count++;
}
我将解释现在的一切:
我做了check_name
因为我正在进行测试以检查名称是否已经在列表中(这对于这个问题并不重要,所以除非你真的需要,否则我不会上传代码它)
我将getchar
放在fgets
之前,因为没有它,它甚至不会要求提供名称。
每次我向fgets(entering a name)
输入内容
它没有复制我的第一封信(如果我把Dexter放在外面)我已经检查过我给了它足够的地方(char name[50]
- 我的老师告诉我这将是最大的)
答案 0 :(得分:1)
getchar()将收到一个字符,其余字符可供fgets()使用。所以删除它。
如果你第一次丢失一个角色有问题...在循环之前放入getchar()。甚至你可以写scanf("%*c");