更快地写入文件的方式 [英] Faster way to write in a file

查看:49
本文介绍了更快地写入文件的方式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




目前,我在fprintf

函数的文件中写了一个带签名的long long:


签名long long * pData = NULL;

unsigned long long k = 0;

unsigned long DataAvail = 0;


pDataRx =(签名长long *)malloc(sizeof(签名长多头)*

(65536 * 16 * 8)/ 8);


for(k = 0; k< DataAvail / 8; k ++){

fprintf(pFilec,"%lli \ t",pData [k]);

}


问题是函数非常慢!


在几个论坛中,我看到fwrite函数更好,但是我不知道如何使用它。

你能帮助我吗?


Tk。

Hi,

Currently, I write an signed long long in a file with the fprintf
function:

signed long long * pData = NULL;
unsigned long long k = 0;
unsigned long DataAvail = 0 ;

pDataRx = (signed long long *) malloc ( sizeof(signed long long ) *
(65536*16*8) / 8);

for ( k = 0; k < DataAvail/8; k ++ ) {
fprintf ( pFilec, "%lli\t", pData[k]);
}

The problem is that function is very very slow !

In several forums, I saw that fwrite function is better, but I don''t
know how to use it.
Can you help me, please ?

Tk.

推荐答案

LilacSkin写道:
LilacSkin wrote:




目前,我在fprintf

函数的文件中写了一个带签名的long long:


签名l ong long * pData = NULL;

unsigned long long k = 0;

unsigned long DataAvail = 0;


pDataRx = (签名长long *)malloc(sizeof(签名长)*

(65536 * 16 * 8)/ 8);


for(k = 0; k< DataAvail / 8; k ++){

fprintf(pFilec,"%lli \ t",pData [k]);

}


问题是函数非常慢!


在几个论坛中,我看到fwrite函数更好,但我不是
知道如何使用它。

你能帮助我吗?
Hi,

Currently, I write an signed long long in a file with the fprintf
function:

signed long long * pData = NULL;
unsigned long long k = 0;
unsigned long DataAvail = 0 ;

pDataRx = (signed long long *) malloc ( sizeof(signed long long ) *
(65536*16*8) / 8);

for ( k = 0; k < DataAvail/8; k ++ ) {
fprintf ( pFilec, "%lli\t", pData[k]);
}

The problem is that function is very very slow !

In several forums, I saw that fwrite function is better, but I don''t
know how to use it.
Can you help me, please ?



size_t rc;

rc = fwrite(pData,sizeof * pData,1048576UL,pFilec);

if(rc!= 1048576){

puts(Write error。);

/ * ... * /

}

size_t rc;
rc = fwrite(pData, sizeof *pData, 1048576UL, pFilec);
if (rc != 1048576) {
puts("Write error.");
/* ... */
}


13fév,13:47,santosh< santosh .... @ gmail.comwrote:
On 13 fév, 13:47, santosh <santosh....@gmail.comwrote:

LilacSkin写道:
LilacSkin wrote:


Hi,


目前,我在fprintf

函数的文件中写了一个带符号的long long:
Currently, I write an signed long long in a file with the fprintf
function:


signed long long * pData = NULL;

unsigned long long k = 0;

unsigned long DataAvail = 0;
signed long long * pData = NULL;
unsigned long long k = 0;
unsigned long DataAvail = 0 ;


pDataRx =(签名长long *)malloc(sizeof(签名长多头)*

(65536 * 16 * 8)/ 8);
pDataRx = (signed long long *) malloc ( sizeof(signed long long ) *
(65536*16*8) / 8);


for(k = 0; k< DataAvail / 8; k ++){

fprintf(pFilec, "%lli \ t",pData [k]);

}
for ( k = 0; k < DataAvail/8; k ++ ) {
fprintf ( pFilec, "%lli\t", pData[k]);
}


问题是函数是非常慢!
The problem is that function is very very slow !


在几个论坛中,我看到fwrite函数更好,但我不知道
知道如何使用它。

你能帮帮我吗?
In several forums, I saw that fwrite function is better, but I don''t
know how to use it.
Can you help me, please ?



size_t rc;

rc = fwrite(pData,sizeof * pData,1048576UL,pFilec);

if(rc!= 1048576){

puts(Write error。);

/ * ... * /

}


size_t rc;
rc = fwrite(pData, sizeof *pData, 1048576UL, pFilec);
if (rc != 1048576) {
puts("Write error.");
/* ... */
}



它不起作用!

It''s not working !


LilacSkin写道:
LilacSkin wrote:

13fév,13:47,santosh< santosh .... @ gmail.comwrote:
On 13 fév, 13:47, santosh <santosh....@gmail.comwrote:

> ; LilacSkin写道:
>LilacSkin wrote:


Hi,


目前,我写了一个签名长的在一个带有fprintf的文件中

函数:
Currently, I write an signed long long in a file with the fprintf
function:


签长长* pData = NULL;

unsigned long long k = 0;

unsigned long DataAvail = 0;
signed long long * pData = NULL;
unsigned long long k = 0;
unsigned long DataAvail = 0 ;


pDataRx =(签名长long *)malloc(sizeof(签名长多头)*

(65536 * 16 * 8)/ 8);
pDataRx = (signed long long *) malloc ( sizeof(signed long long ) *
(65536*16*8) / 8);


for(k = 0; k< DataAvail / 8; k ++){

fprintf(pFilec, "%lli \ t",pData [k]);

}
for ( k = 0; k < DataAvail/8; k ++ ) {
fprintf ( pFilec, "%lli\t", pData[k]);
}


问题是函数是非常慢!
The problem is that function is very very slow !


在几个论坛中,我看到fwrite函数更好,但是我

我不知道如何使用它。

你能帮帮我吗?
In several forums, I saw that fwrite function is better, but I
don''t know how to use it.
Can you help me, please ?


size_t rc;
rc = fwrite(pData,sizeof * pData,1048576UL,pFilec);
if(rc!= 1048576){
puts(写错误。);
/ * ... * /
}


size_t rc;
rc = fwrite(pData, sizeof *pData, 1048576UL, pFilec);
if (rc != 1048576) {
puts("Write error.");
/* ... */
}



它不起作用!


It''s not working !



到底是怎么回事?您是否检查过elements参数是否正确?什么

是fcrite()调用后rc的值? pFilec是否指向

您有适当权限的有效流?

How exactly? Did you check that the elements parameter is correct? What
is the value that rc has after the fwrite() call? Is pFilec pointing to
a valid stream for which you have appropriate permissions?


这篇关于更快地写入文件的方式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆