Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何在文件中保存double类型的矩阵_C_Dataset - Fatal编程技术网

C 如何在文件中保存double类型的矩阵

C 如何在文件中保存double类型的矩阵,c,dataset,C,Dataset,我需要生成一个double(Dictionary)类型的随机矩阵,并将其保存到一个文件中,以便稍后在另一个程序中读取它们。下面是我如何生成数据的:(好的,我做了最后一次编辑,现在每个元素在循环中生成后都保存到文件中。但是有一个关于fopen不安全的错误!) #包括 #包括 #包括 #包括 #包括 /*字典中的列数和行数*/ #定义M(2000) #定义N((int)(M/2)) /*符号函数*/ 双符号(double x){return(x>=0)-(x定义FILE类型的指针,该指针采用字符串(

我需要生成一个double(Dictionary)类型的随机矩阵,并将其保存到一个文件中,以便稍后在另一个程序中读取它们。下面是我如何生成数据的:(好的,我做了最后一次编辑,现在每个元素在循环中生成后都保存到文件中。但是有一个关于fopen不安全的错误!)

#包括
#包括
#包括
#包括
#包括
/*字典中的列数和行数*/
#定义M(2000)
#定义N((int)(M/2))
/*符号函数*/

双符号(double x){return(x>=0)-(x定义FILE类型的指针,该指针采用字符串(文件名)和类型模式(
w
=write,
a
=append,
r
=read)。 在矩阵上循环并使用fprintf

FILE *out_file = fopen("name_of_file", "w"); // write only

for (n = 0; n < N; n++)
{
    for (m = 0; m < M; m++)
    {
        fprintf(out_file,"%lf ", D[n][m]);
    }
}
FILE*out\u FILE=fopen(“文件名”、“w”);//仅写
对于(n=0;n<代码>为什么你要标记C++?你没有使用它,这是简单的C。此外,请下次正确地格式化你的代码。你错过了一个<代码>。{
在你的主签名之后。你的程序没有编译。什么是
id
?可能的重复请修复你的代码!我编辑过一次,你又编辑了一遍。现在轮到你了。基本上有两个选项:
fwrite()
fprintf()
。第一个是人类无法读取的,如果复制到其他系统,可能会失败,第二个是人类可以读取的。感谢您的回答,我是否需要在定义指针之前创建文件?我还收到一个错误,因为fopen不安全!好的,我已经进行了最后一次编辑,现在每个元素都在系统中生成后保存到文件中循环。但是有一个关于fopen不安全的错误!不,您不需要在之前创建文件。使用运算符write,函数会自动创建它。关于不安全,这取决于您使用的编辑器。使用visual studio,可能会使用fprinf_s
FILE *out_file = fopen("name_of_file", "w"); // write only

for (n = 0; n < N; n++)
{
    for (m = 0; m < M; m++)
    {
        fprintf(out_file,"%lf ", D[n][m]);
    }
}