ChinaUnix.net
相关文章推荐:

fwrite 2进制流

#include   struct mystruct   {   int i;   char ch;   };   int main(void)   {   FILE *stream;   struct mystruct s;   if ((stream = fopen("TEST.$$$", "wb")) == NULL) /* open file TEST.$$$ */   {   fprintf(stderr, "Cannot open output file.\n");   return 1;   }   s.i = 0;   s.ch = 'A';   fwrite(&s, sizeof(s), 1, stream); /* write struct s to file */   fclo...

by wsszlj - C/C++ - 2009-04-14 20:14:19 阅读(1115) 回复(2)

相关讨论

关于fwrite,我经常的用法是 if(fwrite(buf,count,1,fd)!=1) perror("fwrite"); 不过最近看到一些代码上这样用 fwrite(buf,1,count,fd); 不知道后一种用法好处在那里,比前一个效率高吗,特别是在长时间处理大量数据的时候应该怎么用好一些?谢谢发言。

by sleetboy - C/C++ - 2008-10-31 19:05:25 阅读(7686) 回复(10)

如何用fread fwrite复制一个文件? fread读到文件末尾时候,返回0;该如何知道实际读了多少数据? 谢谢 [code] int main( int argc, char *argv[] ) { int i, len; int rfd, wfd; char *buf; FILE *rfp, *wfp; len = atoi( argv[3] ); printf( "%d\n", len ); buf = (char*)alloca( len ); rfp = fopen( argv[1], "rb" ); wfp = fopen( argv[2], "w...

by jack9981 - C/C++ - 2007-05-17 12:42:42 阅读(2146) 回复(4)

fwrite函数向一个文件中写数据时,为什么最后总是会多写几行? [code] fp = fopen(local_file, "a"); if(!fp) { printf("create file error! %s\n", strerror(errno)); return 0; } printf("\nThe following is the response header:\n"); i=0; /* ........http...response */ /*-----------reading header info--------------*/ int status = 0; char size[1024]={0}; char *len=0; long...

by seawand_zhu - C/C++ - 2007-09-11 15:35:40 阅读(2078) 回复(6)

代码如下:[code]int main () { char buffer[1000]; FILE *pFile1, int iFile2; pFile1=fopen ("myfile.txt","w"); iFile2=open ("myfile2.txt",O_WRITE | O_SYNC); setbuf ( pFile1 , buffer ); const char* strANSC = "This is sent to a buffered stream"; fwrite(pFile1, strANSC, 1, strlen(strANSC)); fflush (pFile1); const char* strPOSIX="This is sent to an unbuffered stream"; write(iFi...

by SybaseLU - C/C++ - 2007-07-18 14:25:30 阅读(3139) 回复(3)

是不是这两个函数不管文件以何种方式打开输出的都是二进制?为什么以下两个程序输出无差别? #include #include /*本程序测试字节输出顺序,结果为先输出低位字节,后输出高位字节*/ void main() { unsigned int a=25185;/*a=98*256+97*/ FILE* fp; fp=fopen("a.txt","wb+"); //这改为“wt+"竟结果不变? if(fp==0){puts("error");exit(0);} fwrite(&a,sizeof(unsigned int),1,fp); f...

by beginer1 - C/C++ - 2005-12-08 23:47:57 阅读(2987) 回复(7)

有以下代码,在solaris上运行 #include #include int main(int argc, char **argv) { FILE *pFile = fopen("1.txt", "wb"); fwrite("\n", 1, 1, pFile); fclose(pFile); return 1; } 运行后fwrite会自动得在'\n'前添加字符'\r'。现在我不想让fwrite自动添加'\r',如何做呢? [ 本帖最后由 waiwai 于 2005-11-17 14:58 编辑 ]

by waiwai - C/C++ - 2005-11-17 16:14:00 阅读(1650) 回复(10)

我真在谢谢一个小coding,巴数字放在两维数组里,然后把数组写在文件中,但是,当我读取的时候,我只能拿到第一行,别的拿不到,为什么? #include ; int main() { int row, col,i; int sum =0; FILE *my_stream; char my_filename[] = "my_numbers"; size_t object_size = sizeof(int); size_t object_count = 16; size_t op_return; int **tmp; tmp = (int **)malloc((4) * sizeof(int *)); for (i=0; i <=3; i++) tmp ...

by sandhurst - C/C++ - 2004-06-29 16:12:13 阅读(1061) 回复(3)

在AIX5.3下,编了一个测试程序,代码如下,就是往一个文件里面写东西,但在运行它时,用svmon -P PID -i 5去看内存使用情况,如现程序在不断增加内存,就好像打印到文件的东西被放在内存了一样,难道用了fflush(),数据照样还会在内存有一份吗?而且发现跑很长时间,该内存一直增加,感觉就像内存有泄露一样。另,我把fopen和fclose放到循环里面,情况也一样。想问一下大家,是否有同样的情况? Pid Command Inuse ...

by qinzh130 - AIX - 2008-05-13 14:28:05 阅读(1722) 回复(2)

最近因为写入U盘的问题,我想了解一下fwrite写数据到文件的内幕是什么样的?我在嵌入式设备上(用arm9)写文件发现速度是个问题,正常的写文件,如果数据量大了,写的太频繁了,内核就会把程序杀掉。加上sync就不会了。不知道这个fwrite到底如何操作的?如何提高写入速度?!

by sleetboy - C/C++ - 2011-08-16 17:35:31 阅读(3700) 回复(10)

我的程序是想把文件111.txt中的16进制数 "0x00,0x01,0x10, 0xa4,0x23,0xbc, 0x23,0xa0,0x2d, 0x31,0x65,0xf1, 0x8a,0x10,0x45, 0xc0,0x9a,0x20," 转换为2进制 "000000000000000100010000 ..............................................."输出到222.txt中.并24个数字一行 请看看程序哪里有问题,运行时提示内存地址"0xcccccccc"不能写 #include #include void main() { FILE * fp; FILE * fp1; char * a; ...

by little28 - C/C++ - 2006-07-15 19:44:38 阅读(1242) 回复(4)