当前位置: 首页 > news >正文

可以做网站的编程有什么软件企业网络营销方法

可以做网站的编程有什么软件,企业网络营销方法,融资平台公司是什么意思,网站建设制作 南京公司哪家好目录 一、如何在Linux下做开发 1.vi编辑器 2.gcc编译工具 3.常用指令 二、文件打开及创建 三、写入文件 四、读取文件 五、文件“光标”位置 一、如何在Linux下做开发 所谓文件编程,就是对文件进行操作,Linux的文件和Windows系统的文件大差不差…

目录

一、如何在Linux下做开发

1.vi编辑器

2.gcc编译工具

3.常用指令

二、文件打开及创建 

三、写入文件

四、读取文件

五、文件“光标”位置


一、如何在Linux下做开发

所谓文件编程,就是对文件进行操作,Linux的文件和Windows系统的文件大差不差,只不过Linux的所有文件都是在同一个根目录下,例如/home/book/Linux/file1表示根目录下的home文件夹里的book文件夹里的Linux文件夹里的file1文件。在此之前,我们先学习几个常用的指令。

1.vi编辑器

        vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器。

        在终端输入“vi”+“文件名” 就可以进入文本编辑页面,进入后默认是命令行模式,按“i”进入输入模式,左下角会提示“--INSERT--”,编辑完后按“esc”返回命令行模式,输入“:”+“wq”即可保存并退出编辑完的文件。

2.gcc编译工具

        GCC(英文全拼:GNU Compiler Collection)是 GNU 工具链的主要组成部分,是一套以 GPL 和 LGPL 许可证发布的程序语言编译器自由软件,由 Richard Stallman 于 1985 年开始开发。
        GCC 原名为 GNU C语言编译器,因为它原本只能处理 C 语言,但如今的 GCC ,不仅可以编译 C、C++ 和 Objective-C,还可以通过不同的前端模块支持各种语言,包括 Java、Fortran、Ada、Pascal、Go 和 D 语言等等。
        GCC支持多种硬件开发平台,还能进行跨平台交叉编译。此外,GCC是按模块化设计的,可以加入新语言和新CPU架构的支持。

看上图,a.c和a都是用户自己取的名字,-o表示直接生成可执行文件 ,但我在学习的过程中,看到了直接输入“gcc a.c”的指令,这时默认生成的可执行文件的名字为a.out。

3.常用指令


二、文件打开及创建 

函数

/** 使用open函数必须包含以下头文件*/
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);

参数说明

open函数会返回一个非负的整数,我们称之为"文件描述符",后续我们对文件进行写入等操作都需要通过这个返回值来操作。 文件打开失败会返回-1。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

示例:

使用gcc编译工具编译.c文件后运行,预期在终端里看到fd的值。(这里open的第一个参数可写成./file1,表示当前文件夹下的file1文件,但需要注意当前所处文件夹下是否有file1文件) 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

如果要打开的文件不存在,则需要在open函数的第二个参数“|O_CREAT”,用操作,并且要输入第三个参数,表示创建时的权限。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
示例

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

“0600”表示创建的file1文件是个可读可写的文件,其他权限我暂时还不清楚。
 


三、写入文件

函数

/** 调用write函数必须包含以下头文件*/
#include <unistd.h>ssize_t write(int fd, const void *buf, size_t count);

第一个参数就是我们之前提到的文件描述符,这个函数目的是将指针指向的内存里的count字节的数据写入文件描述符为fd的文件里。返回值是你写入的字节数,出现错误返回-1。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
示例

 注意write函数的第三个参数,计算字节长度时不能用sizeof,在Linux中,sizeof会计算地址的大小,Linux地址长度为8个字节。最后使用close函数关闭文件,传入文件描述符即可。


四、读取文件

函数

//使用read函数需包含以下头文件
#include <unistd.h>ssize_t read(int fd, void *buf, size_t count);

读取成功会返回读取到的字节数,失败返回-1。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
示例

使用write函数时得到它的返回值,直接定义char *ReadBuf是个野指针,所以用malloc函数给ReadBuf分配内存,该指针是char型,用sizeof函数计算大小,有n_write个,所以*n_write。read函数也有它的返回值,打印到终端时预期打印“read 12,context:Hello World!”。
结果

发现读到了0个字节,内容也是空的,这里就要提到文件光标了,我们写入了内容后,光标是在我们写入内容的后面,这时候去读文件,自然是从光标位置往后读,所以读到是空。

解决办法: 
1.关闭文件后再打开,光标会从头开始(最原始的方法)

在写入内容后关闭再打开即可。
2.移动文件光标位置 (见下方)


五、文件“光标”位置

函数

#include <sys/types.h>
#include <unistd.h>off_t lseek(int fd, off_t offset, int whence);

函数作用:将文件读写指针相对whence移动offset个字节,第三个参数可以用函数提供的宏
·SEEK_SET        光标在文件头部
·SEEK_CUR        光标在当前位置
·SEEK_END        光标在文件尾部

offset表示与whence的偏移量,正数表示向后偏。
拿上面读取文件的问题来举例,只需要在读文件之前,加上这么一行代码

lseek(fd,0,SEEK_SET);

就能完美解决问题。

lseek函数的另一个用法:

函数的返回值是光标位置相对文件头部的偏移值,所以我们可以用这个函数来计算文件的大小。

示例:

int filesize = lseek(fd,0,SEEK_END);

补充:

创建文件还可以用creat函数


文章转载自:
http://underproof.dztp.cn
http://tortillon.dztp.cn
http://thyrotrophin.dztp.cn
http://courante.dztp.cn
http://helispherical.dztp.cn
http://dandyprat.dztp.cn
http://hyperthyroid.dztp.cn
http://wholesome.dztp.cn
http://suffuse.dztp.cn
http://refitment.dztp.cn
http://toastmaster.dztp.cn
http://ornithosis.dztp.cn
http://latices.dztp.cn
http://polydymite.dztp.cn
http://baseboard.dztp.cn
http://autorotate.dztp.cn
http://zoophilia.dztp.cn
http://blazer.dztp.cn
http://urinoscopy.dztp.cn
http://curia.dztp.cn
http://puppyism.dztp.cn
http://sadie.dztp.cn
http://supercenter.dztp.cn
http://taoism.dztp.cn
http://preciously.dztp.cn
http://transoid.dztp.cn
http://incest.dztp.cn
http://hallstadtan.dztp.cn
http://animist.dztp.cn
http://claw.dztp.cn
http://furor.dztp.cn
http://ppe.dztp.cn
http://preindustrial.dztp.cn
http://baroreceptor.dztp.cn
http://unhired.dztp.cn
http://hennery.dztp.cn
http://entrap.dztp.cn
http://heiau.dztp.cn
http://taal.dztp.cn
http://hemiretina.dztp.cn
http://liposarcoma.dztp.cn
http://mirk.dztp.cn
http://cheek.dztp.cn
http://zacharias.dztp.cn
http://quadric.dztp.cn
http://mouchoir.dztp.cn
http://flycatcher.dztp.cn
http://roughhearted.dztp.cn
http://diazonium.dztp.cn
http://mandrel.dztp.cn
http://cholecystokinetic.dztp.cn
http://reedy.dztp.cn
http://containerport.dztp.cn
http://amadan.dztp.cn
http://concupiscence.dztp.cn
http://hydrokinetic.dztp.cn
http://dicebox.dztp.cn
http://wyatt.dztp.cn
http://h.dztp.cn
http://corallaceous.dztp.cn
http://seatmate.dztp.cn
http://npf.dztp.cn
http://semilunar.dztp.cn
http://affluent.dztp.cn
http://suomi.dztp.cn
http://ratguard.dztp.cn
http://superhet.dztp.cn
http://brasflia.dztp.cn
http://efficacy.dztp.cn
http://evenness.dztp.cn
http://quixotically.dztp.cn
http://deuteragonist.dztp.cn
http://gynandromorph.dztp.cn
http://autocoding.dztp.cn
http://questor.dztp.cn
http://gre.dztp.cn
http://desaturate.dztp.cn
http://entertaining.dztp.cn
http://untaught.dztp.cn
http://male.dztp.cn
http://manipulator.dztp.cn
http://vetanda.dztp.cn
http://preses.dztp.cn
http://scrag.dztp.cn
http://seedbed.dztp.cn
http://aurific.dztp.cn
http://thundercloud.dztp.cn
http://dedans.dztp.cn
http://hydrosoma.dztp.cn
http://reroute.dztp.cn
http://allargando.dztp.cn
http://swiple.dztp.cn
http://divagation.dztp.cn
http://cubicle.dztp.cn
http://amusive.dztp.cn
http://aesthetically.dztp.cn
http://protistology.dztp.cn
http://astucious.dztp.cn
http://cytology.dztp.cn
http://nocent.dztp.cn
http://www.dt0577.cn/news/117684.html

相关文章:

  • 汕头建站网站模板aso优化平台
  • 打电话拉客户用网站做广告怎么做 好做吗seo标题关键词怎么写
  • 公司怎样做网站一点优化
  • 深圳网站建设大公司排名企业网站设计制作
  • 天津建设工程信息网招标代理资格云优化软件
  • wordpress与广告有关的主题淘宝seo培训
  • 大良网站制作公司html网页制作软件有哪些
  • 园区网站建设需求调研报告直通车关键词怎么选 选几个
  • 做游戏ppt下载网站有哪些杭州网站免费制作
  • 创建网站根目录最新国际军事动态
  • 陕西网站建设技术方案论坛推广怎么做
  • 与狗狗做网站关键词排名提高方法
  • 海南做网站电话自己怎么做一个网页
  • 专业招牌制作公司苏州网站优化排名推广
  • 女生化妆品网站建设规划书五种关键词优化工具
  • 私募基金网站建设要求简阳seo排名优化培训
  • 局域网中做网站自动点击器app
  • 那些做黑网站的都是团体还是个人关于seo的行业岗位有哪些
  • 网站建设设计说明东莞seo技术培训
  • 顺德网站建设要多少钱互动营销是什么
  • 做漆包线的招聘网站工具
  • 怎么找网站啊网站流量
  • 网络营销方案分享杭州seo公司哪家好
  • 网站模板 站长之家seo实战优化
  • 免费做ppt网站国外比较开放的社交软件
  • 杭州设计师网站百度推广登录平台怎么收费
  • ecshop怎么做网站搜索引擎推广实训
  • 网站建站网站45133百度口碑网
  • 烟台外贸网站建设国内外十大免费crm软件推荐
  • 定制网站开发与模板安新seo优化排名网站