中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

可以做網(wǎng)站的編程有什么軟件成都網(wǎng)絡(luò)推廣優(yōu)化

可以做網(wǎng)站的編程有什么軟件,成都網(wǎng)絡(luò)推廣優(yōu)化,義烏門(mén)戶(hù)網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì)方面有什么公司目錄 一、如何在Linux下做開(kāi)發(fā) 1.vi編輯器 2.gcc編譯工具 3.常用指令 二、文件打開(kāi)及創(chuàng)建 三、寫(xiě)入文件 四、讀取文件 五、文件“光標(biāo)”位置 一、如何在Linux下做開(kāi)發(fā) 所謂文件編程,就是對(duì)文件進(jìn)行操作,Linux的文件和Windows系統(tǒng)的文件大差不差…

目錄

一、如何在Linux下做開(kāi)發(fā)

1.vi編輯器

2.gcc編譯工具

3.常用指令

二、文件打開(kāi)及創(chuàng)建?

三、寫(xiě)入文件

四、讀取文件

五、文件“光標(biāo)”位置


一、如何在Linux下做開(kāi)發(fā)

所謂文件編程,就是對(duì)文件進(jìn)行操作,Linux的文件和Windows系統(tǒng)的文件大差不差,只不過(guò)Linux的所有文件都是在同一個(gè)根目錄下,例如/home/book/Linux/file1表示根目錄下的home文件夾里的book文件夾里的Linux文件夾里的file1文件。在此之前,我們先學(xué)習(xí)幾個(gè)常用的指令。

1.vi編輯器

????????vi編輯器是所有Unix及Linux系統(tǒng)下標(biāo)準(zhǔn)的編輯器,它的強(qiáng)大不遜色于任何最新的文本編輯器,這里只是簡(jiǎn)單地介紹一下它的用法和一小部分指令。由于對(duì)Unix及Linux系統(tǒng)的任何版本,vi編輯器是完全相同的,因此您可以在其他任何介紹vi的地方進(jìn)一步了解它。Vi也是Linux中最基本的文本編輯器。

????????在終端輸入“vi”+“文件名” 就可以進(jìn)入文本編輯頁(yè)面,進(jìn)入后默認(rèn)是命令行模式,按“i”進(jìn)入輸入模式,左下角會(huì)提示“--INSERT--”,編輯完后按“esc”返回命令行模式,輸入“:”+“wq”即可保存并退出編輯完的文件。

2.gcc編譯工具

????????GCC(英文全拼:GNU Compiler Collection)是 GNU 工具鏈的主要組成部分,是一套以 GPL 和 LGPL 許可證發(fā)布的程序語(yǔ)言編譯器自由軟件,由 Richard Stallman 于 1985 年開(kāi)始開(kāi)發(fā)。
????????GCC 原名為 GNU C語(yǔ)言編譯器,因?yàn)樗局荒芴幚?C 語(yǔ)言,但如今的 GCC ,不僅可以編譯 C、C++ 和 Objective-C,還可以通過(guò)不同的前端模塊支持各種語(yǔ)言,包括 Java、Fortran、Ada、Pascal、Go 和 D 語(yǔ)言等等。
????????GCC支持多種硬件開(kāi)發(fā)平臺(tái),還能進(jìn)行跨平臺(tái)交叉編譯。此外,GCC是按模塊化設(shè)計(jì)的,可以加入新語(yǔ)言和新CPU架構(gòu)的支持。

看上圖,a.c和a都是用戶(hù)自己取的名字,-o表示直接生成可執(zhí)行文件?,但我在學(xué)習(xí)的過(guò)程中,看到了直接輸入“gcc a.c”的指令,這時(shí)默認(rèn)生成的可執(zhí)行文件的名字為a.out。

3.常用指令


二、文件打開(kāi)及創(chuàng)建?

函數(shù)

/** 使用open函數(shù)必須包含以下頭文件*/
#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);

參數(shù)說(shuō)明

open函數(shù)會(huì)返回一個(gè)非負(fù)的整數(shù),我們稱(chēng)之為"文件描述符",后續(xù)我們對(duì)文件進(jìn)行寫(xiě)入等操作都需要通過(guò)這個(gè)返回值來(lái)操作。?文件打開(kāi)失敗會(huì)返回-1。
- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -

示例:

使用gcc編譯工具編譯.c文件后運(yùn)行,預(yù)期在終端里看到fd的值。(這里open的第一個(gè)參數(shù)可寫(xiě)成./file1,表示當(dāng)前文件夾下的file1文件,但需要注意當(dāng)前所處文件夾下是否有file1文件)?

- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -

如果要打開(kāi)的文件不存在,則需要在open函數(shù)的第二個(gè)參數(shù)“|O_CREAT”,用操作,并且要輸入第三個(gè)參數(shù),表示創(chuàng)建時(shí)的權(quán)限。
- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -
示例

- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -

“0600”表示創(chuàng)建的file1文件是個(gè)可讀可寫(xiě)的文件,其他權(quán)限我暫時(shí)還不清楚。
?


三、寫(xiě)入文件

函數(shù)

/** 調(diào)用write函數(shù)必須包含以下頭文件*/
#include <unistd.h>ssize_t write(int fd, const void *buf, size_t count);

第一個(gè)參數(shù)就是我們之前提到的文件描述符,這個(gè)函數(shù)目的是將指針指向的內(nèi)存里的count字節(jié)的數(shù)據(jù)寫(xiě)入文件描述符為fd的文件里。返回值是你寫(xiě)入的字節(jié)數(shù),出現(xiàn)錯(cuò)誤返回-1。
- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -
示例

?注意write函數(shù)的第三個(gè)參數(shù),計(jì)算字節(jié)長(zhǎng)度時(shí)不能用sizeof,在Linux中,sizeof會(huì)計(jì)算地址的大小,Linux地址長(zhǎng)度為8個(gè)字節(jié)。最后使用close函數(shù)關(guān)閉文件,傳入文件描述符即可。


四、讀取文件

函數(shù)

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

讀取成功會(huì)返回讀取到的字節(jié)數(shù),失敗返回-1。
- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -?- -?- -?- -?- -?- -?- -?-?- -
示例

使用write函數(shù)時(shí)得到它的返回值,直接定義char *ReadBuf是個(gè)野指針,所以用malloc函數(shù)給ReadBuf分配內(nèi)存,該指針是char型,用sizeof函數(shù)計(jì)算大小,有n_write個(gè),所以*n_write。read函數(shù)也有它的返回值,打印到終端時(shí)預(yù)期打印“read 12,context:Hello World!”。
結(jié)果

發(fā)現(xiàn)讀到了0個(gè)字節(jié),內(nèi)容也是空的,這里就要提到文件光標(biāo)了,我們寫(xiě)入了內(nèi)容后,光標(biāo)是在我們寫(xiě)入內(nèi)容的后面,這時(shí)候去讀文件,自然是從光標(biāo)位置往后讀,所以讀到是空。

解決辦法:?
1.關(guān)閉文件后再打開(kāi),光標(biāo)會(huì)從頭開(kāi)始(最原始的方法)

在寫(xiě)入內(nèi)容后關(guān)閉再打開(kāi)即可。
2.移動(dòng)文件光標(biāo)位置 (見(jiàn)下方)


五、文件“光標(biāo)”位置

函數(shù)

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

函數(shù)作用:將文件讀寫(xiě)指針相對(duì)whence移動(dòng)offset個(gè)字節(jié),第三個(gè)參數(shù)可以用函數(shù)提供的宏
·SEEK_SET? ? ? ? 光標(biāo)在文件頭部
·SEEK_CUR? ? ? ? 光標(biāo)在當(dāng)前位置
·SEEK_END? ? ? ? 光標(biāo)在文件尾部

offset表示與whence的偏移量,正數(shù)表示向后偏。
拿上面讀取文件的問(wèn)題來(lái)舉例,只需要在讀文件之前,加上這么一行代碼

lseek(fd,0,SEEK_SET);

就能完美解決問(wèn)題。

lseek函數(shù)的另一個(gè)用法:

函數(shù)的返回值是光標(biāo)位置相對(duì)文件頭部的偏移值,所以我們可以用這個(gè)函數(shù)來(lái)計(jì)算文件的大小。

示例:

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

補(bǔ)充:

創(chuàng)建文件還可以用creat函數(shù)

http://www.risenshineclean.com/news/50072.html

相關(guān)文章:

  • PHP網(wǎng)站開(kāi)發(fā)程序員招聘免費(fèi)推廣產(chǎn)品的平臺(tái)
  • 網(wǎng)站產(chǎn)品頁(yè)面什么時(shí)候做怎么自己做網(wǎng)站
  • 網(wǎng)站被黑了怎么恢復(fù)重慶企業(yè)站seo
  • 大學(xué)二級(jí)學(xué)院網(wǎng)站建設(shè)必要性網(wǎng)站流量統(tǒng)計(jì)工具
  • 做php網(wǎng)站前端價(jià)格鄭州seo聯(lián)系搜點(diǎn)網(wǎng)絡(luò)效果好
  • 廣州哪里有學(xué)做網(wǎng)站的瀏覽器網(wǎng)站大全
  • 常寧市建設(shè)局網(wǎng)站seo培訓(xùn)
  • 北京建筑公司一覽表商品標(biāo)題關(guān)鍵詞優(yōu)化
  • 購(gòu)物 網(wǎng)站建設(shè)的市場(chǎng)分析電商廣告網(wǎng)絡(luò)推廣
  • 怎么看網(wǎng)站做沒(méi)做推廣手機(jī)軟文廣告300字
  • 婚慶公司網(wǎng)站模板seo公司排名教程
  • 天津武清網(wǎng)站建設(shè)廣州最新消息今天
  • 廣州文化網(wǎng)站模板百度手機(jī)助手下載安卓
  • 這幾年做哪些網(wǎng)站能致富站內(nèi)推廣的方法
  • h5微信網(wǎng)站建設(shè)百度app手機(jī)版
  • 怎么做網(wǎng)站彈幕效果網(wǎng)站制作模板
  • 傳奇網(wǎng)站劫持怎么做b2b網(wǎng)站大全免費(fèi)
  • 東城區(qū)住房和建設(shè)委員會(huì)網(wǎng)站合肥關(guān)鍵詞排名優(yōu)化
  • wordpress 置頂在前做網(wǎng)站優(yōu)化哪家公司好
  • 南京推廣公司seo sem是啥
  • 能免費(fèi)做微信群推廣的網(wǎng)站巨量算數(shù)
  • 本地wordpress站點(diǎn)上傳搜狗站長(zhǎng)平臺(tái)驗(yàn)證網(wǎng)站
  • 網(wǎng)站什么語(yǔ)言好五種新型營(yíng)銷(xiāo)方式
  • 電商供應(yīng)鏈網(wǎng)站競(jìng)價(jià)推廣返點(diǎn)開(kāi)戶(hù)
  • 手機(jī)網(wǎng)站建設(shè)項(xiàng)目seo店鋪描述
  • 怎么查網(wǎng)站域名備案太原seo快速排名
  • 做移動(dòng)網(wǎng)站優(yōu)化優(yōu)seo推廣代運(yùn)營(yíng)
  • 9277在線(xiàn)觀看免費(fèi)高清完整版手機(jī)網(wǎng)站搜索優(yōu)化
  • 濟(jì)南wordpress 建站淘寶搜索詞排名查詢(xún)
  • 網(wǎng)站建設(shè)日程表表格seo的流程是怎么樣的