C语言中FILE*fp是什么意思

 我来答
远宏018
高粉答主

2020-12-24 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:2642
采纳率:100%
帮助的人:45.9万
展开全部

FILE 是系统定义的一种结构类型的名称。

FILE *fp; 变量类型声明。声明 fp 是 FILE型指针,用于指向FILE类型 (文件结构)。

文件流-- 排成一队,有先后次序的 输入(或输出)一串数据,驻留并通过 输入输出缓冲区,进出程序。如同水流般地流入或流出。它来自文件或写入文件。

扩展资料:

FILE *fp的替换用法:

fp=fopen("test.dat", "w");    /*建立一个文字文件只写*/

fclose(fp);                   /*关闭文件*/

fwrite(const void*buffer,size_t size,size_t count,FILE*stream);

1、buffer:是一个指针,对fwrite来说,是要输出数据的地址。

2、size:要写入的字节数;

3、count:要进行写入size字节的数据项的个数;

4、stream:目标文件指针。

小周喜欢熬夜
高粉答主

2021-04-07 · 每个回答都超有意思的
知道大有可为答主
回答量:8789
采纳率:72%
帮助的人:216万
展开全部
词法分析,是编译器的第一个模块,也是最简单的模块。
最简单,指的是相对于编译器这种大型程序而言,与一般的代码相比还是有点复杂的。
关于词法分析的简介,可以看之前的文章:
词法分析器的简单思路
按照通常的C代码惯例,前缀暂时设置为scf,Simple Compiler Framework,简单编译器框架。
它所需的基本数据结构,就是动态字符串和双向链表,做了简单的代码介绍。
用C语言写个动态字符串
用C语言实现Linux风格的双向链表
首先,需要定义一个枚举类型,说明词法分析要支持的单词类型,即各种运算符、常量、标识符。
因为是从C和C++中抽取了容易实现的那部分语法,单词类型还是很多的,见如下几张图片:
是各种运算符的类型定义,与流行的编程语言基本一样。

各种运算符
第二张,大小括号、分号、逗号、冒号等语法标示符号,箭头、点号等运算符。
箭头->,一般表示指针。点号,表示取类的成员。
三个点号,表示函数的动态参数,例如printf(const char* fmt, ...)在词法分析时就会用到。
空格,space,在词法分析时作为分隔符之一。它是不需要传递到语法分析阶段的,用完之后需要忽略掉。
EOF,表示源代码文件的结尾,fgetc()之类的函数在文件结束时会返回这个值。把它也作为一个单词,用于提示词法分析过程的结束。

括号之类的也算运算符
第三张,主要是用于代码流程控制的关键字。

流程控制的关键字
第四张,是用于类型定义的关键字。

数据类型的关键字
第五张,也是这个枚举的最后一部分,是常量和标识符。

其他
定义完了这个枚举,就可以定义单词的数据结构,如下图:

list,用于把它挂载到词法分析器的链表上,按照先进先出顺序(FIFO),以备后续的语法分析时读取。
type,填写为上面那个枚举的其中之一,用于表示这个单词的类型。
data,用于存储常量的值,可以是常量数字或者常量字符串。
text,用于存储单词的原始文本,即这个词的源代码。
file、line、pos,用于存储单词所在的源码文件名,行号,行内的位置,用于打印错误信息。
接下来定义几个与单词相关的函数,alloc()、clone()、free(),等等。

然后在C文件里实现这三个函数。

最后,定义词法分析器(lexer)的数据结构。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姒耕顺杨钗
2019-05-27 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:24%
帮助的人:1048万
展开全部
file是值指针类型,此处是一个file文件操作的指针,*就是定义指针的,fp就是这个文件指针的名字。
以后你就可以用这个指针来操作某一个文件了,比如读、写、等等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zangyurong
推荐于2017-11-24 · TA获得超过438个赞
知道小有建树答主
回答量:350
采纳率:0%
帮助的人:264万
展开全部
定义一个指向文件流的指针,通过操作这个指针你就能进行文件读写,打开关闭
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
艾珽
2018-03-18 · TA获得超过262个赞
知道答主
回答量:157
采纳率:50%
帮助的人:46.6万
展开全部
定义一个指向FILE结构体的指针
FIEL * file_demo;
例子:新建一个文件,写入一个字符串,代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE * file_demo;
file_demo = fopen("/program/test.txt","w");
fprintf(file_demo,"hello world!");
fclose(file_demo);
return EXIT_SUCCESS;
}

此程序运行平台为linux,编译器为gcc
程序的运行结果是 在/program下创建了 test.txt 文件。且里面的内容为 “hello world!” 和预想的一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式