gpt4 book ai didi

c - 将指针值数组传递给c中的文件

转载 作者:行者123 更新时间:2023-11-30 15:10:51 24 4
gpt4 key购买 nike

我正在使用指针数组将输入的值传递到文本文件,但是当我使用 fputs 时,我不断收到错误“expected const char*”,并且因为指针数组是从名为 books 的结构中定义的它的类型是“struct books *”。我尝试使用 put 语句,但这也不能解决问题。不使用指针会更好吗?

const char *BOOKS = "books.txt";

struct Books{
int isbn;
char title[25];
char author[20];
char status[10];
}*a[MAX];

int main (void)
{
int i;
printf("Enter the books details that you currently have:\n\n");

for(i=0;i<MAX;i++)
{
printf("Enter the book's isbn number:");
scanf("%d", &a[i]->isbn);

printf("Enter the book's title :");
scanf("%s", &a[i]->title);

printf("Enter the book's author:");
scanf("%s", &a[i]->author);

printf("Enter the book's status, whether you 'have' or whether it is 'borrowed':");
scanf("%s", &a[i]->status);
}

FILE *fp = fopen(BOOKS, "r+" );
if (fp == NULL )
{
perror ("Error opening the file");
}
else
{
while(i<MAX )
{
fputs( a[i]->status, fp);
fputs(a[i]->author, fp);
fputs( a[i]->title, fp);
fputs( a[i]->isbn, fp);
}
fclose (fp);
}
}

最佳答案

假设您还没有给出完整的代码,到目前为止我了解您想要将结构元素写入您打开的文件中。在您的 for 循环中,您需要使用 fputs 如下所示,

fputs(a[i].title, fp);
fputs(a[i].author, fp);
fputs(a[i].status, fp);

然后它应该可以正常工作,不会出现任何错误。希望有帮助。

关于c - 将指针值数组传递给c中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35973777/

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