1. 程式人生 > >Linux系統函式open和close(01)

Linux系統函式open和close(01)

說明:

open函式:是Linux的系統函式。

close函式:是Linux的系統函式。

檔案有開啟(open)就要有關閉(close),檔案的開啟和關閉時搭配使用的。

環境:Vmware Workstation;CentOS-6.4-x86_64

檔案操作:有開啟,必須有關閉。

圖解說明:

步驟:

1、建立並編輯main.c:

#include <stdio.h>
// 包含open所需要的標頭檔案
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
// 包含close所需要的標頭檔案
#include <unistd.h>

int main(int argc, char *args[])
{
	// 以只讀方式開啟一個檔案a.txt
	int fd = open("a.txt", O_RDONLY);
	// 判斷檔案是否開啟成功
	if (fd == -1)
	{
		printf("open file failed.\n");
	}
	// 開啟檔案成功,關閉檔案
	close(fd);
	return 0;
}
2、建立並編輯makefile檔案:
.SUFFIXES:.c .o

CC=gcc

SRCS=main.c
OBJS=$(SRCS:.c=.o)
EXEC=main

start: $(OBJS)
	$(CC) -o $(EXEC) $(OBJS)
	@echo "-----------------------------OK-----------------------"

.c.o:
	$(CC) -Wall -o [email protected] -c $<

clean:
	rm -rf $(EXEC) $(OBJS)
3、建立檔案a.txt,編譯並執行程式:
[[email protected]
mycode]$ <span style="background-color: rgb(255, 255, 153);">touch a.txt</span> [[email protected] mycode]$ <span style="background-color: rgb(255, 255, 153);">make</span> gcc -Wall -o main.o -c main.c gcc -o main main.o -----------------------------OK----------------------- [
[email protected]
mycode]$ <span style="background-color: rgb(255, 255, 153);">./main</span>
說明: 操作檔案的時候,一定需要開啟檔案,開啟檔案之後一定要記得關閉。


PS:根據傳智播客視訊學習整理得出。

相關推薦

Linux系統函式openclose01

說明: open函式:是Linux的系統函式。 close函式:是Linux的系統函式。 檔案有開啟(open)就要有關閉(close),檔案的開啟和關閉時搭配使用的。 環境:Vmware Workstation;CentOS-6.4-x86_64 檔案操作:有開啟,必須

Linux系統函式openclose03---open函式的引數

環境:Vmware Workstation;CentOS-6.4-x86_64 說明: open函式的定義形式:int open(const char *pathname, int flags); 引數說明: 1、pathname指的是檔案的路徑+檔名,路徑可以是相對路

linux 系統呼叫open 七日遊

接著昨日的旅程,我們應該開始處理具體的子路徑了: 【fs/namei.c】 sys_open->do_sys_open->do_filp_open->path_openat->link_path_walk 點選(此處)摺疊或開啟 &n

linux系統呼叫open七日遊

友情提示:您需要一個 kernel 3.15.6,下載地址: https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.15.6.tar.xz     我們將以 Linux 系統呼叫 open 為主線,參

Linux 系統呼叫 open 七日遊

【場景三】open(pathname, O_WRONLY | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR)     在這個場景中我們希望建立一個新檔案(O_CREAT),並賦予該檔案使用者可讀(S_IRUSR)和使用者可寫(S_IW

Linux學習之三:文件夾系統的結構相對絕對路徑

sharp 二進制 沒有 數據 csharp pan 用戶 ont 臨時 理解每個目錄的作用 bin   二進制文件 boot   系統的啟動文件、內核 dev   設備文件 etc   配置文件 home  用戶的家目錄 lib    鏈接庫文件  l

Linux 檔案系統呼叫open七日遊

接著上回,當對“.”和“..”處理完成後就直接返回進入下一個子路徑迴圈了,但如果當前子路徑不是“.”或“..”呢? 【fs/namei.c】 sys_open > do_sys_open > do_filp_open >&

Linux檔案系統呼叫open 七日遊

還記得在上一個場景中,build_open_flags裡面有一個對標誌位O_PATH的判斷麼?現在我們就來看看這個標誌位是幹啥的: 【場景二】open(pathname,O_PATH)     這個O_PATH似乎是不常用的,咱們先看看它的使用

linux檔案系統呼叫 open 七日遊

現在,我們的“路徑行走”只剩下最後一個小問題需要處理了——符號連結。 【fs/namei.c】 sys_open > do_sys_open > do_filp_open > path_openat &g

Python 建立、讀取寫入檔案以及yield關鍵字- 千月的python linux 系統管理指南學習筆記14

無論是日誌檔案還是配置檔案都是我們日常運維中常見的型別,學習處理檔案的關鍵是學會如何處理文字資料。Python 包含一個稱為 file 的內建型別,可以用來處理檔案。 建立檔案物件 為了讀取一個現有的檔案,我們需要建立一個新的檔案物件,以用來對檔案進行互動。 open

Linux系統備份還原工具1DD應用實例

環境 mnt 之前 air 更換 ibm grub resize 方法 DD使用教程:http://www.cnblogs.com/EasonJim/p/7442223.html 以下實例沒經過大量測試,可能在一些機器上不會有效。 一般圍繞以下幾點進行設置: 1、dd

Linux系統管理----存儲管理

運維 系統 創建文件系統----分區格式化 格式化 低級格式化:磁盤初始化,磁道劃分; 高級格式化:創建或重建文件系統;按照某種特定的標準,將整個分區劃分為大小相同的若幹小的邏輯編址單元,每個這樣的單元,稱為塊(Block);window中稱為:簇 劃分

Linux系統管理----存儲管理

網絡 運維 Linux系統中常用的壓縮和解壓縮工具: 壓縮:以時間換空間的一種操作; 壓縮的實現:標記 + 替換 壓縮比:某個文件在壓縮操作之前與壓縮操作之後的文件大小的比值;(比值越大,壓縮結果越小) 通常來說,純文本文件的壓縮比比較大;Linux中常用的壓縮工具: c

linux文件壓縮打包

fff nag mark com -o mar col color .com 6.1壓縮打包介紹6.2gzip壓縮工具6.3bzip2壓縮工具6.4xz壓縮工具6.1壓縮打包介紹6.2gzip壓縮工具6.3bzip2壓縮工具6.4xz壓縮工具linux文件壓縮和打包(上)

linux基礎篇-加密安全

證書 rss base64 encrypt 加密和解密 leg 效應 pubkey 鼠標 加密和安全(一) 主要內容 ♣ 安全機制 ♣ 對稱和非對稱加密 ♣ 散列算法 ♣ gpg ♣ PKI和CA &cl

Linux系統程式設計學習常見問題:VMware虛擬機器下Ubuntu18.04突然上不了網的問題解決方案

問題描述:VMware虛擬機器下Ubuntu18.04突然上不了網的問題:如下圖所示:   更改這裡的三種連線方式都是這樣  2.  分析:IP衝突或者配置出了問題,需重新更新設定。 3.  解決: (1)將模式調整為

Linux系統SPI驅動學習筆記

  SPI是"Serial Peripheral Interface" 的縮寫,是一種四線制的同步序列通訊介面,用來連線微控制器、感測器、儲存裝置,SPI裝置分為主裝置和從裝置兩種,用於通訊和控制的四根線分別是: CS    片選訊號SCK  時鐘訊號MISO  主裝置的

Python 下字串的連線、簡單替換與unicode字串- 千月的python linux 系統管理指南學習筆記12

Python 下字串的連線、簡單替換與unicode字串 繼續上一章的內容,看一看字串的連線和替換 字串的連線 join() 將多個字串連線起來的”膠水“ 字元物件.join(字串或者列表) #連線字串,或者與列表裡的字元分別連線。 光是將2個字串相連。其實意義不大,一個

Linux系統的命令別名功能alias

Linux系統的命令別名功能 命令別名功能    在管理和維護Linux系統的過程中,將會使用到大量命令,有一些很長的命令或用法經常被用到,重複而頻繁地輸入某個很長命令或用法是不可取的。這時可以使用命令別名功能將這個過程簡單化。 1.系統定義的別名    通常情

Linux系統配置PHP開發環境CentOS

一、使用FileZilla將虛擬機器的伺服器連線起來1、ifconfig獲取虛擬機器的IP地址2、在FileZilla輸入各項資訊進行連線    注:①使用管理員的賬號進行連線   如此才能訪問到根目錄。           ②埠號:大部分都是預設不輸入,我的偏偏要輸入22才