更快地写入文件的方式 [英] Faster way to write in a file
问题描述
目前,我在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屋!