在小型数据库程序中存储地址

时间:2014-09-01 16:42:15

标签: c

我正在编写一个小程序,其中包含一个使用以下结构组织的数据库:

typedef struct {
    char fname[20];
    char lname[20];
    char phone[12];
    char address[50];
} database;

当我要求输入一个条目的所有值时,我按如下方式进行操作(程序开头的var save为0):

   if(option == 1)
    {
        printf("\nPlease input each of the following parameters separated by space: \n");
        printf("Firstname Lastname Phone Address: \n");
        scanf("%s %s %s %s", &list[save].fname, &list[save].lname, &list[save].phone, &list[save].address);
        save++;
        printf("\n\n!!!!! DONE !!!!!\n\n");
    }

问题是,我希望最后一个字符串输入(地址)能够存储带有空格的完整句子。当我输入类似Andres Guerra +15551234 55555 AB Ave.,UT的东西时。它只会保存在列表中[保存]。地址55555,其余的东西保留存储以供下次输入,导致存储差异。

如何在地址struct元素中保存包含空格的完整句子?

注意:我还尝试使用地址单独制作%s的额外scanf,但它也不起作用。

如果我使用Country而不是Address,程序运行正常。

0 个答案:

没有答案