用c语言保存到文件中
此函数的作用域是获取输入并保存到文件中。简单对吧?但是我在控制台输入后找不到该文件。请帮帮我用c语言保存到文件中,c,file,save,file-not-found,C,File,Save,File Not Found,此函数的作用域是获取输入并保存到文件中。简单对吧?但是我在控制台输入后找不到该文件。请帮帮我 void addpassenger() { int size = sizeof(struct passenger); struct passenger newPassenger; printf("Name: "); gets(newPassenger.name); printf("Surname: "); gets(newPassenger.surna
void addpassenger()
{
int size = sizeof(struct passenger);
struct passenger newPassenger;
printf("Name: ");
gets(newPassenger.name);
printf("Surname: ");
gets(newPassenger.surname);
printf("ID card No: ");
gets(newPassenger.idCard);
printf("Nationality: ");
gets(newPassenger.Nationality);
printf("Telephone/Mobile: ");
scanf("%d",&newPassenger.phone);
FILE *pt =fopen("passenger.dat","a");
fwrite(&newPassenger,size,1,pt);
fclose(pt);
}
fwrite-您传递的第二个和第三个参数是错误的 第二个参数是size—要写入的每个元素的大小(以字节为单位)。 size_t是无符号整数类型 第三个参数是count—元素数,每个元素的大小为字节。 size_t是无符号整数类型 所以你的论点应该是正确的
fwrite(&newPassenger,sizeof(int),size,pt);
通常,工作目录不在可执行文件所在的位置。最好是显式地设置它,或者只查看它所在的位置。因为您只提供文件名(而不是完整路径),所以文件将位于可执行文件的末尾。通常,这是您运行它的起点。