gpt4 book ai didi

c - 将多个数组写入一个文件 - 用列分隔它们 - "@?"作为输出

转载 作者:太空宇宙 更新时间:2023-11-04 05:57:05 25 4
gpt4 key购买 nike

我想将多个数组写入一个文件。

我正在使用:

double *x = (double*) malloc ( ArraySize * sizeof(double) ); 
double *y = (double*) malloc ( ArraySize * sizeof(double) );
double *z = (double*) malloc ( ArraySize * sizeof(double) );

FILE * theFile;
int N = 3;
double *theFileName[ ] =
{

[ 0 ] = x ,
[ 1 ] = y ,
[ 2 ] = z

};

theFile = fopen( "mydata", "wb" );
assert( NULL != theFile );

for ( int i = 0; i < N; i++ )
fwrite( &theFileName[ i ] , sizeof( double ) , ArraySize , theFile + i );

fclose( theFile );

我的疑问/问题:

1) 使用

theFile + i

导致段错误。

我怎样才能确保每个数组将被写入文件的不同部分?

2) 有没有办法将每个数组写入不同的列以便能够处理数据?

------更新----------------

我发现为了创建“列”,我可以这样做:

fwrite( x + i , sizeof( double ) , ArraySize  , theFile );
fwrite( "\t" , sizeof( char ) , 1 , theFile );
fwrite( y + i , sizeof( double ) , ArraySize , theFile );
fwrite( "\n" , sizeof( char ) , 1 , theFile );

但即使我使用“mydata.txt”,我也会收到“@?”作为输出。

好的,fwrite 仅适用于二进制格式,但有没有办法只检查数字?

我对 fortrans“写入”dat 文件感到困惑,您可以在其中看到数字。

最佳答案

fwrite 自动推进文件指针。您只需每次将 theFile 传递给它,而不添加任何内容,它会继续添加到输出文件中。

关于c - 将多个数组写入一个文件 - 用列分隔它们 - "@?"作为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25665728/

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