Linux 應用程式程式設計基礎

2021-07-05 10:13:32 字數 2290 閱讀 6552

乙個計算機應用程式在記憶體中可以分成兩個部分:存放**的**段和存放資料的資料段。**段存放使用者編寫的**;資料段存放棧和堆。

相關記憶體管理函式

#include void *malloc(size_t size); //申請size大小的空間

void free(void *ptr); //釋放ptr指向的空間

void *calloc(size_t nmemb,size_t size); //申請nmemb數量size大小的空間

void *realloc(void *ptr,size_t size); //重新分配ptr指向的空間大小為size

ansi c檔案管理

ansi檔案i/o庫在stdio.h標頭檔案中提供了如下兩種設定緩衝的函式介面

#include void setbuf(file *fp,char *buf);	//設定buf大小的緩衝

int setvbuf(file *fp,char *buf,int mode,size_t size); //理論上可以設定任意大小緩衝

檔案操作

file *fopen(const char *path,const char *mode);	//以mode方式開啟path路徑下的檔案

int fclose(file * stream); //關閉檔案很重要

int getc(file *stream);

int fgetc(file *stream); //功能相同,從檔案流讀取乙個字元

int getchar(void); //從stdin讀取乙個字元

int putc(int c,file *stream);

int fputc(int c,file *stream); //功能相同,輸出到檔案流乙個字元

int putchar(int c); //輸出到stdout乙個字元

char *fgets(char *s,int size,file *stream); //從檔案流讀取size大小

char *gets(char *s); //讀取一行,由於會造成快取溢位不建議使用

int fputs(const char *s,file *stream); //向檔案流輸出一行

int puts(const char *s); //輸出一行

size_t fread(void *ptr,size_t size,size_t nmemb,file *stream);

//塊狀讀取,從檔案流讀取nmemb塊size大小

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

//塊狀輸出,向檔案流輸出nmemb塊size大小

int fseek(file *stream,long offset,int whence);

//檔案流定位到指定位置偏移offset,whence為解釋offset

//seek_set檔案開始 seek_cur當前位置 seek_end檔案末尾

long ftell(file *stream); //返回檔案流當前讀寫指標位置

void rewind(file *stream); //把讀寫指標定位到最開始

posix可移植作業系統介面檔案i/o程式設計

#include #include #include int open(const char *pathname,int flags);	//以flag方式開啟檔案

int open(const char *pathname,int flags,mode_t mode); //mode為許可權

int creat(const char *pathname,mode_t mode); //一般open函式會自動建立

#include int close(int fd); //關閉檔案

ssize_t write(int fd,const void *buf,size_t count); //向檔案寫入buf的count個字元

ssize_t read(int fd,void *buf,size_t count); //從檔案讀取count個字元到buf

#include #include off_t lseek(int fildes,off_t offset,int whence); //設定檔案流讀取指標偏移量

#include #include int fcntl(int fd,int cmd); //改變已經開啟的檔案性質功能

Web應用程式基礎

一般的web應用程式,是由客戶端 client 與伺服器 server 兩個部分組成的的。客戶端可以是移動端 桌面應用程式 瀏覽器 browser 服務端則是http伺服器,客戶端會請求伺服器上放置的檔案或者資源。對於瀏覽器 browser 來說,請求的伺服器資源就是html檔案。什麼是 html?...

Linux 應用程式 之 IO程式設計(一)

我的linux 環境是windows8.1 vmware6.5.1 fedora14,參考書籍 第六章 我利用乙個ssh軟體ssh secure file transfer client 來從linux傳輸檔案 來張虛擬機器執行fedora的圖 下面步入正題 io最基本操作 1 2 include ...

Linux應用程式設計基礎 (5)多程序程式設計基礎2

一 程序組 乙個或多個程序的集合 程序組id 正整數 兩個函式getpgid 0 getpgrp 函式原型為 include pid t getpgrp void include pid t getpgid pid t pid 返回值,若成功則返回程序組id,出錯返回 1 程序組id 父程序id,即...