高手指教下:在计算机C语言中

计算机C语言中:对文件进行fwrite操作是什么意思啊?

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:文件型指针。

注意:1 完成次写操(fwrite())作后必须关闭流(fclose());

2 完成一次读操作(fread())后,如果没有关闭流(fclose()),则指针(FILE * fp)自动向后移动前一次读写的长度,不关闭流继续下一次读操作则接着上次的输出继续输出;

3 fprintf() : 按格式输入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, ...]);其用法和printf()相同,不过不是写到控制台,而是写到流罢了。注意的是返回值为此次操作写入到文件的字节数。如int c = fprintf(fp, "%s %s %d %f", str1,str2, a, b) ;str1:10字节;str2: 10字节;a:2字节;b:8字节,c为33,因为写入时不同的数据间自动加入一个空格。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-19
函数名: fwrite
功 能: 写内容到流中,向文件写入一个数据块
用 法: int fwrite(void *ptr, int size, int nitems, FILE *stream);
程序例:

#include <stdio.h>

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 */
fclose(stream); /* close file */
return 0;
}
第2个回答  2012-03-21
将一个字符串写入文本文件
第3个回答  2012-03-20
是将文件内容显示在屏幕上

高手指教下:在计算机C语言中
如int c = fprintf(fp, "%s %s %d %f", str1,str2, a, b) ;str1:10字节;str2: 10字节;a:2字节;b:8字节,c为33,因为写入时不同的数据间自动加入一个空格。

c语言 请高手指教~~~
static 静态变量先编译。然后是main()函数,依次编译。i是全局变量fun()函数会影响,其他变量各管各的。这些东西书上都有,好好看书

C语言中怎样将一个五位数的每个数进行相加?代码怎么写?求高手指教,在...
回答:用循环, C#是这样的, int sum=0; for(int i=0;i<五位数;i++) { sum+=i; }

求高人指教,C语言中,汉字姓名怎么按字典顺序排列
字典是按照拼音排序的,没有现成的拼音排序功能。你可以自己做键值表对应啊。就是做数据,把百家姓和其拼音组合对应的表,可以用文件存储,也 可以用数据库存储,或者干脆直接写在代码了,用结构数组或链表加载。然后需要排序的时候,直接用结构数组或链表排序啊。如果你除了姓,连名字都要算在排序中,那...

c语言程式,请高手指教一下
要什么指教?

求大神指教C语言中的位域
两个数据结构的位域都在整形(4字节)里分配, 如果不足一个整形的部分就按一个整形算 下面的图说明了位域在内存里的存储情况, 可以看到, 两种情况下位域都只占了一个字节, 不足一个整形(4字节), 所以就按一个整形算

C语言 选择题 高手指教
判断语句执行体里只有一个句子,即z=x,因为没有大括号。x=10,y=20,所以判断条件不符合,因此if语句不执行。接着执行下面的语句,x=y,此时x=y=20,y=20,z=30;再执行下一条,y=z,此时y=z=30,x=20,z=30,因此选B

求高手指教! C语言中求100-9999之内的超级素数个数!
int IsSuperPrime(long number); \/*求100~9999之间所有的超级素数个数,和,及最大值*\/ void main(){ long spn = 0;long spm = 0;long sps = 0;for( long i = 101; i<= 9997; i += 2){ if(IsSuperPrime(i)==1){ sps += i; spn++ ; spm = i;} } printf("sum=%ld,...

C 语言初学者 请高手指教
呵呵 这个是因为 0362=244,已经超出了char的表示范围 char的范围是 -128到127 所以会发生截断 0362是二进制的 011110010 保留右边8位是 11110010,这个看成补码时就是 -14,也就是256-244 所以最后输出-14

下面一个C语言高手指教下,小弟看不懂!!
首先我们要知道这句话的意思“n++<=2”,就是先把n遇2进行比较,然后,再n=n+1,第一次循环:进while循环的时候,n=0,先拿0遇2比较,条件符合,n=n+1,n此时为1,到第一个打印语句,打印一个1和一个“\\t”,就是打印一定宽度的空格,此时因为while后面没带“{ }”,所以while的循环体就是...

相似回答
大家正在搜