gpt4 book ai didi

c - 使用 scanf 将字符串存储在结构中

转载 作者:太空宇宙 更新时间:2023-11-04 03:23:40 25 4
gpt4 key购买 nike

我编写了一个将书籍信息存储到 Book 结构体的函数,除了书名有空格外,一切正常。所以像 Dracula 这样的东西会被存储和显示得很好,但是像 指环王 这样的东西只会跳过扫描书的其余信息并继续关闭程序.有什么方法可以使用 scanf 将字符串注册到空格?这是我的代码:

void addBook(struct Book book[], int *size)
{
if(*size== MAX_BOOKS) {
printf("the inventory is full.\n");
}

else {
printf("ISBN\n");
scanf("%d", &book[*size]._isbn);
printf("Title\n");
scanf("%s", book[*size]._title);
printf("Price\n");
scanf("%f", &book[*size]._price);
printf("Year\n");
scanf("%d", &book[*size]._year);
printf("Qty\n");
scanf("%d", &book[*size]._qty);
printf("Book successfully added to inventory\n");

(*size)++;
}

}

如有必要,我可以使用完整代码进行更新。

最佳答案

没问题。那是因为 %s 在第一个空格处停了下来。使用 %[^\n] 直到他找到输入。

关于c - 使用 scanf 将字符串存储在结构中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43161710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com