ChinaUnix.net
相关文章推荐:

fwrite

#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 阅读(1114) 回复(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 阅读(7681) 回复(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 阅读(2144) 回复(4)

linux里面,有一个1.3KB的文件,现在需要更新该文件的前512字节内容,代码如下:[code] #define SEC_SIZE 0x200 // out: fopen("rb")方式打开 // in: fopen("rb+")方式打开 ret = fread(buf, 1, SEC_SIZE, out); // 返回ret = SEC_SIZE ret = fwrite(buf, SEC_SIZE, 1, in); // 返回ret = 1 fclose(out); fclose(in); [/code]执行完之后,发现该文件前512字节是...

by garyv - C/C++ - 2014-05-04 21:08:58 阅读(3809) 回复(19)

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 阅读(2075) 回复(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 阅读(3132) 回复(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 阅读(2984) 回复(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 阅读(1057) 回复(3)

fread函数和fwrite函数 1.函数功能 用来读写一个数据块。 2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 3.说明 (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。 (2)size:要读写的字节数; (3)count:要进行读写多少个size字节的数据项; (4)fp:文件型指针。 4.举例 例1 从键盘输入4个学生的有关数据,然后把它们转存到...

by 哦,呀呀 - Linux文档专区 - 2010-02-07 17:13:49 阅读(2716) 回复(0)

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

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