gpt4 book ai didi

c - 使用 fprintf 时出现问题

转载 作者:行者123 更新时间:2023-11-30 16:02:26 25 4
gpt4 key购买 nike

我正在尝试将大量变量打印到文本文件,但它不起作用。我检查并确认我用正确的语法编写了它。我还检查了返回值,它是正数,因此我知道它确实写入了文件,但是当我打开文件时它是空的。

我很乐意提供一些帮助。这是代码:

我在 main 中启动 DynasaleDayPtr:

FILE* DynsaleDayPtr = CreateTextFiles("sale_day.txt");  

创建函数:

FILE* CreateTextFiles (char* fileName)  
{
FILE* saleFilePtr=NULL;

if((saleFilePtr=fopen(fileName,"a+"))==NULL)
printf("File couldn't be opened\n");
return saleFilePtr;
}

对函数 TextAddSale 的调用是通过在 main 中调用的函数完成的:
TextAddSale(DynSaleDayPtr,dynNumOfRecords);

Bool TextAddSale (FILE* DynsaleDayPtr, int* dynNumOfRecords)  
{

char id[6];
char name [50];
char priceChar[20];
char* tmp = NULL;
int price=-1;
DynamicRecord * newRec=NULL;

scanf("%s%s%s",id,name,priceChar);

newRec = (DynamicRecord *)malloc(sizeof(DynamicRecord));
if (newRec == NULL)
return False;
tmp = (char*)malloc(strlen(name)+1);
if (tmp == NULL)
{
free (newRec);
return False;
}
strcpy(tmp,name);
newRec->productName = tmp;
strcpy(newRec->productId, id);
newRec->productPrice=atoi (priceChar);

if (fprintf(DynsaleDayPtr,"%d %s %s %d", strlen(newRec->productName),
newRec->productId, newRec->productName, newRec->productPrice)>0)
{
*dynNumOfRecords=(*dynNumOfRecords)+1;
return True;
}
}

谢谢!

最佳答案

您需要刷新流。

fflush(FILE*);

当然,如果您已经完成了该流,则必须将其关闭。

fclose(FILE*);

关于c - 使用 fprintf 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333160/

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