gpt4 book ai didi

c++ 将矩阵数据保存为文本或 XML(更好)

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

我用这个函数创建了一个 file.dat

int writeData(double* v, int length, FILE* fh)
{
FILE *Stream; //Stream for output.
double*Elem; //Pointer to all the element to save.

assert( fh!=NULL );
Stream = fh;

Elem=(double*)malloc((length+2)*sizeof(double));//Allocate memory to Elem.
if(Elem==NULL)
{
printf("Can't allocate memory for saving the matrix!");
return(0);
}

Elem[0]=(double)1;//Save the dimensions of the matrix.
Elem[1]=(double)length;

int i;
for(i=0;i<length ;i++)
Elem[i+2]=v[i];

if(fwrite((void*)Elem,sizeof(double),(length+2),Stream) < (unsigned)(length+2)) //Save the data.
{
printf("Error, can't save the matrix!");
return(0);
}
free(Elem);
return(1);
}

现在我想将此文件转换为 xml 文件或文本文件...

有什么建议吗?谢谢

最佳答案

将值保存为文本格式很容易:

int writeTextData(double* v, int length, FILE* fh)
{
assert( fh!=NULL );
fprintf(fh, "%d\n", length);
for(int i=0;i<length ;i++)
if(fprintf(fh, "%lf ", v[i]) <= 0)
{
printf("Error, can't save the matrix!");
return(0);
}
return(1);
}

将保存长度后跟长度数字。

XML 最好在库的帮助下编写。

虽然这样一个简单的数据集可以手动(通过 fprintf)保存到 XML 中,但任何更复杂的数据都需要您进行复杂的编码/转义并且很容易出错,除非您精通 XML - 如前所述,您会最好使用库(例如 libxml)

关于c++ 将矩阵数据保存为文本或 XML(更好),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4392504/

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