gpt4 book ai didi

c - 将结构写入文件时出现问题

转载 作者:行者123 更新时间:2023-11-30 15:42:07 25 4
gpt4 key购买 nike

我的函数有问题,该函数应该将结构写入文件,文件已创建,但无论我做什么,它们都保持为空。

这是我尝试写入文件的结构:

typedef struct
{
double dA;
double dA1;
double dB;
double dB1;
double dAwnser;
char cStepOne[24];
char cStepTwo[24];
char cStepThree[20];
char cFormula[26];
} equationData_t;
equationData_t equation;

这是将结构写入文件的函数:

void writeDataToFile(equation)
{
int iSizeOfStruct = 0;
char cFileName[20];
int iQuitProgram = 0;
iSizeOfStruct = sizeof(equationData_t);
while (1)
{
printf("Give file name with extension (Max 20 char.):\n:");
scanf("%s",&cFileName[0]);
pnf = fopen(cFileName, "r+");
if (pnf == NULL)
{
printf ("\nError: File not found!\n1.Try again.\n2.Quit.\n3.Make new file.\n:");
scanf("%d",&iQuitProgram);

switch(iQuitProgram)
{
case 1: break;
case 2: exit(1);
case 3: makeNewFile();
}

}
if (pnf != NULL)
{
printf("\n************************************\nFile opend!\nWriting data to file.\n");
fwrite(equation, iSizeOfStruct, 1, pnf);
fclose(pnf);
printf("Data written");
break;
}
}
}

最佳答案

您可以尝试使用 open() 然后 pwrite() 而不是 fopen() 和 fwrite()。

但是,在您的代码中:

fwrite(equation, iSizeOfStruct, 1, pnf);

应修改为:

fwrite(&equation, iSizeOfStruct, 1, pnf);

关于c - 将结构写入文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20314394/

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