百度
360搜索
搜狗搜索

fwrite函数的一般调用形式是,c语言操作文本的基本使用方法详细介绍

本文目录一览: fwrite函数的一般调用形式是【 】。 (A) fwrite(buffer,count,size, fp);

答案是D
int fwrite(void *ptr,int size,int nitems,FILE *stream)

c语言fwrite和fread

以"wb+"方式打开的二进制文件用于读/写,如果这个文件不存在,则建立这个文件,如果存在,则打开这个文件。
读写文件时,还有一个用于读/写文件内容的指针,这个指针随着fread()和fwrite()函数的操作而改变,控制该指针的函数是int fseek(FILE *stream, long offset, int fromwhere);。
就以上原因,修改如下:
#include

int main() { FILE *fp = fopen("a.txt","wb+"); int a,b; a = 5; fwrite(&a,sizeof(int),1,fp); fseek(fp,-(long)sizeof(int),SEEK_CUR); // 从当前位置向后移动读/写指针 fseek(fp,0,SEEK_CUR); // 改变为"读"模式 fread(&b,sizeof(int),1,fp); printf("%d\n",b); fclose(fp); return 0;}

读数据块函数调用的一般形式为:

fread(buffer,size,count,fp);

写数据块函数调用的一般形式为:

fwrite(buffer,size,count,fp);

其中:

buffer 是一个指针,在fread 函数中,它表示存放输入数据的首地址。在fwrite 函

数中,它表示存放输出数据的首地址。

size 表示数据块的字节数。

count 表示要读写的数据块块数。

fp 表示文件指针。

已知函数fread的调用形式为“fread(buffer,size,count,fp);”,其中buffer代表的是(  )。

【答案】:C
本题考查数据块读取函数调用形式:fread(buffer,size,count,fp)。fread函数参数说明:“buffer”是一个指针,是读入数据的存放地址,对fwrite来说,是要输出数据的地址;“size”是要读写的字节数;“count”是要进行读写多少个size字节数据项;“fp”是指文件型指针。

fgets、fputs和fread、fwrite有什么区别?

读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针); 其中的n是一个正整数。表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志'\0'。例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1个字符送入 字符数组str中。
fputs函数的功能是向指定的文件写入一个字符串,其调用形式为: fputs(字符串,文件指针) 其中字符串可以是字符串常量,也可以是字符数组名, 或指针变量.
整块数据的读写函数。 可用来读写一组数据,如一个数组元素,一个结构变量的值等。读数据块函数调用的一般形式为: fread(buffer,size,count,fp); 写数据块函数调用的一般形式为:
fwrite(buffer,size,count,fp); 其中buffer是一个指针,在fread函数中,它表示存放输入数据的首地址。在fwrite函数中,它表示存放输出数据的首地址。 size 表示数据块的字节数。count 表示要读写的数据块块数。fp 表示文件指针。

C语言 文件读写

其实很简单,就是一个可逆的加密!
//要将该程序放到要加密的文件同一目录下,不然无法加密//加密用#include

void main(){ FILE *fr; FILE *fw; char filename[50]; char newfile[50]; char ch=0; printf("请输入要加密的文件名:"); scanf("%s",filename); printf("请输入要生成的文件名:"); scanf("%s",newfile); fr=fopen(filename,"rb"); fw=fopen(newfile,"wb"); while((ch=fgetc(fr))!=EOF) { fputc(ch+10,fw); } fclose(fr); fclose(fw);}//解密用#include

void main(){ FILE *fr; FILE *fw; char filename[50]; char newfile[50]; char ch=0; printf("请输入要解密的文件名:"); scanf("%s",filename); printf("请输入要生成的文件名:"); scanf("%s",newfile); fr=fopen(filename,"rb"); fw=fopen(newfile,"wb"); while((ch=fgetc(fr))!=EOF) { fputc(ch-10,fw); } fclose(fr); fclose(fw);}

你是说文件的读写语句,不是加解密函数吧?

ok。 fopen打开文件,

FILE *fp;

fp=fopen(文件名,使用文件方式);

例如:  FILE *fp;aaaafp = fopen("file1","r");

fgetc()函数 读文件内容

从指定文件读入一个字符。fgetc函数的调用形式为:

ch=fgetc(fp);

从fp所指向的文件中读一个字符,返回读得的字符给变量ch。对于文本文件,遇文件尾时返回文件结束标志EOF。对于二进制文件,用feof(fp) 判别是否遇文件尾,feof(fp)=1说明遇文件尾。

fread函数和fwrite函数

fread函数和fwrite函数用来读写一个数据块。它们的一般调用方式为:

fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);

其中:

buffer:是一个指针。对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。

size:要读写的字节数。

count:要进行读写多少个size字节的数据项。

fp:文件型指针。

如果以二进制形式打开文件,用fread函数和fwrite函数就可以读写任何类型的信息,例如:

fread(f,4,2,fp);

用fclose函数关闭文件。fclose函数调用的一般形式为:

fclose(文件指针)

例如:

fclose(fp);

fclose函数也带回一个返回值,当顺利关闭文件时,返回0,否则返回EOF(-1)。

VC++中fwrite函数的用法是什么?

向文件读入写入一个数据块
用 法
size_t fwrite(const void*buffer,size_t size,size_t count,FILE*stream);
返回值:返回实际写入的数据块数目
(1)buffer:是一个指针,对fwrite来说,是要输出数据的地址。
(2)size:要写入内容的单字节数;
(3)count:要进行写入size字节的数据项的个数;
(4)stream:目标文件指针。
说明:写入到文件的哪里? 这个与文件的打开模式有关,如果是r+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动cout个数。;如果是a+,则从文件的末尾开始添加,文件长度加大,而且是fseek函数对此函数没有作用。
UpdateData是与DDX配套使用的,DDX(全名:DoDataExchange)是MFC里的一个重要概念。
DDX的功能是:创建一个变量(一般是CString,int类型)。然后使用DDX的函数:
void AFXAPI DDV_????(CDataExchange* pDX, int nID, CString& value);
????:代表不同种类的控件:有Text(编辑控件),LBString(列表框),CBString(组合框).value就是与这些可以显示文字控件相对应的变量。当然有些控件可能只有数字意义,不存在文字意义。如有3个单选按钮,第一个按钮被按下时,或第二个或第三个按钮被按下时,对于我们而言它们的序号就是非常重要的信息了。
因此也可以void AFXAPI DDX_????(CDataExchange* pDX, int nID, int& value);
????:可以是Check(复选框),Radio(单选框),LBIndex,CBIndex.
注意这里的函数用的最后一个参数是引用(&),因此在函数内部就允许修改这个值,之后我们可以查看value,如果是单选,表示第几个按钮被按下了。(nID必须指向同一组单选按钮的第一个按钮ID,也就是有WS_GROUP式样的那个)。
CDataExchange有个BOOL成员变量m_bSaveAndValidate,UpdateData(false)就是用这个false设置m_bSaveAndValidate,然后根据m_bSaveAndValidate,调用
if (m_bSaveAndValidate) GetDlgItemText(ID_EDIT, value);
else SetDlgItemText(ID_EDIT, value);
因此,DDX内部实现是靠SetDlgItemText完成的,因此从效率上说是SetDlgItemText高。但一般在做程序的时候,我个人觉得还是用DDX更帮。理由是:程序结构,功能清晰。如我有5个EDIT,对应姓名,亲属姓名,地址,公司名称,公司地址,我可以用5个成员变量同它们进行关联。最后只用开关函数UpdateData来更新控件或变量。
另外,DDX除了设置CString,int型的变量,还可以设置为控件变量;很多通用控件MFC是没有预先定义DDX的,因此需要做手工定义。内容实在太多了,只说了这些!
补充:
说了半天,你什么都没看明白吗?
先在你的窗口类(最常见的就是对话框的派生类)定义这样一个函数:
void MyDlg::DoDataExchange(CDataExchange* pDX) {
DDX_Text(pDX, ID_EDIT, value);//把编辑框里输入的内容与CString的value关联起来
}
当你在类成员函数中调用DoUpdate(false)时,这个函数会在内部首先将CDataExchange的变量m_bSaveAndValidate设置为FALSE.然后调用DoDataExchange,并且将前面修改的CDataExchange变量通过指针传进去。然后你自己定义的DoDataExchange就开始执行了呀,譬如我做的这个DoDataExchange
就会先调用DDX_Text(pDX, ID_EDIT, value);(这个例子也就只有这一个,如果有多个,就会按顺序执行)。在DDX_Text(pDX, ID_EDIT, value)里,就会先查看m_bSaveAndValidate,然后执行
if (m_bSaveAndValidate) GetDlgItemText(ID_EDIT, value);
else SetDlgItemText(ID_EDIT, value);
这样就是一个调用UpdateData(FALSE)将编辑框控件里的内容保存到value的完整过程。
fwrite(将数据写至文件流)
相关函数
fopen,fread,fseek,fscanf
表头文件
#include

定义函数

size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);

函数说明

fwrite()用来将数据写入文件流中。参数stream为已打开的文件指针,参数ptr 指向欲写入的数据地址,总共写入的字符数以参数size*nmemb来决定。Fwrite()会返回实际写入的nmemb数目。

返回值

返回实际写入的nmemb数目。

范例

#include

阅读更多 >>>  手机xfplay文件在哪里

#define set_s (x,y) {strcoy(s[x].name,y);s[x].size=strlen(y);}

#define nmemb 3

struct test

{

char name[20];

int size;

}s[nmemb];

main()

{

FILE * stream;

set_s(0,”Linux!”);

set_s(1,”FreeBSD!”);

set_s(2,”Windows2000.”);

stream=fopen(“/tmp/fwrite”,”w”);

fwrite(s,sizeof(struct test),nmemb,stream);

fclose(stream);

}

执行

参考fread()。

c语言操作文本的基本使用方法

  c语言操作文本应该怎么使用,这对于很多新手来说,是很难的一件事情,下面我为大家带来了关于c语言操作文本的基本使用方法,欢迎大家阅读!
  c语言操作文本的基本使用方法   1.字符读写:
  fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为:
  字符变量=fgetc(文件指针);
  fputc函数的功能是把一个字符写入指定的文件中,函数调用的形式为:
  fputc(字符量,文件指针);
  2.字符串读写
  读字符串函数fgets
  函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为:
  fgets(字符数组名,n,文件指针);
  写字符串函数fputs
  fputs函数的功能是向指定的文件写入一个字符串,其调用形式为:
  fputs(字符串,文件指针);
  3.数据块读写
  读数据块函数调用的一般形式为:
  fread(buffer,size,count,fp);
  写数据块函数调用的`一般形式为:
  fwrite(buffer,size,count,fp);
  4.格式化读写
  fscanf函数,fprintf函数与前面使用的scanf和printf函数的功能相似,都是格式化读写函数。两者的区别在于fscanf函数和fprintf函数的读写对象不是键盘和显示器,而是磁盘文件。
  这两个函数的调用格式为:
  fscanf(文件指针,格式字符串,输入表列);
  fprintf(文件指针,格式字符串,输出表列);
  文件定位
  移动文件内部位置指针的函数主要有两个,即rewind函数和fseek函数。
  rewind函数前面已多次使用过,其调用形式为:
  rewind(文件指针);
  它的功能是把文件内部的位置指针移到文件首。
  下面主要介绍fseek函数。fseek函数用来移动文件内部位置指针,其调用形式为:
  fseek(文件指针,位移量,起始点);
  其中:
  “文件指针”指向被移动的文件。
  “位移量”表示移动的字节数,要求位移量是long型数据,以便在文件长度大于64KB时不会出错。当用常量表示位移量时,要求加后缀“L”。
  “起始点”表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文件尾。其表示方法如下表。
  c语言操作文本的基本使用方法1
  起始点表示符号数字表示
  文件首SEEK_SET0
  当前位置SEEK_CUR1
  文件末尾SEEK_END2
  例如:
  fseek(fp,100L,0);
  其意义是把位置指针移到离文件首100个字节处。
  还要说明的是fseek函数一般用于二进制文件。在文本文件中由于要进行转换,故往往计算的位置会出现错误。
  c语言中常用的文件检测函数有以下几个。
  文件结束检测函数feof函数
  调用格式:
  feof(文件指针);
  功能:判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0。
  读写文件出错检测函数
  ferror函数调用格式:
  ferror(文件指针);
  功能:检查文件在用各种输入输出函数进行读写时是否出错。如ferror返回值为0表示未出错,否则表示有错。
  文件出错标志和文件结束标志置0函数
  clearerr函数调用格式:
  clearerr(文件指针);
  功能:本函数用于清除出错标志和文件结束标志,使它们为0值。

c语言库函数中有error函数吗?

你看看头文件

,搜索 perror(...) ferror(...)

然后在看看

的头文件定义,这里面都是一些有关错误方面的宏定义

#include

void error(int status, int errnum, const char *format, ...);/**********原型*********/

void error_at_line(int status, int errnum, const char *filename,

unsigned int linenum, const char *format, ...);

extern unsigned int error_message_count;

extern int error_one_per_line;

extern void (* error_print_progname) (void);

你可以百度下这2函数

perror

strerror

c语言标准库函数里没有error函数。C语言对异常的处理确实不够好,大多的时候都需要人工除错。

有几个类似的函数,分别处理各种情况下的异常:

ferror函数:在调用各种输入输出函数(如 putc.getc.fread.fwrite等)时,如果出现错误,除了函数返回值有所反映外,还可以用ferror函数检查。 它的一般调用形式为 ferror(fp);如果ferror返回值为0(假),表示未出错。如果返回一个非零值,表示出错。应该注意,对同一个文件 每一次调用输入输出函数,均产生一个新的ferror函 数值,因此,应当在调用一个输入输出函数后立即检 查ferror函数的值,否则信息会丢失。在执行fopen函数时,ferror函数的初始值自动置为0。在库函数中有个errno变量,每个errno值对应着以字符串表示的错误类型。当你调用"某些"函数出错时,该函数已经重新设置了errno的值。perror函数只是将你输入的一些信息和现在的errno所对应的错误一起输出。

perror函数: 用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno 的值来决定要输出的字符串。

strerror函数:用来 从错误号码 查 用英文表达的错误内容,返回指针,指向这段英文字符串。如果你不知道错误号,那么在出错发生时,及时用 errno 的当前值 作参数,打印这段字符串。

c语言函数调用的一般形式是什么?

不知所谓形式是以什么角度来看
常用调用约定有stdcall cdecl fastcall等
针对参数传递做出规定
通过如下过程实现求出a、b两个数中的最大值:
#include

int max(int a,int b);

int main(void)

{

int a,b,c;

printf("输入两个整数:");

scanf("%d%d",&a,&b);

c=max(a,b);

printf("较大的数是:%d\n",c);

return 0;

}

int max(int a,int b)

{

if(a>b)

return a;

else

return b;

}

扩展资料:

函数调用的一般形式:

在程序中通过对函数的调用来执行函数体,其过程与其它语言的子程序调用相似。C语言中,函数调用的一般形式为:

函数名(实际参数表),对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。

参考资料来源:百度百科-函数调用

网站数据信息

"fwrite函数的一般调用形式是,c语言操作文本的基本使用方法"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:fwrite函数的一般调用形式是,c语言操作文本的基本使用方法的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!