為了方便以後查閱,將一些程式設計過程中常遇到問題寫下來節省以後翻閱時間。
1)rewind,c 程式中的庫函式,功能是將檔案內部的指標重新指向乙個流的開頭。
函式名: rewind()
功 能: 將檔案內部的位置指標重新指向乙個流(資料流/檔案)的開頭
注意:不是檔案指標而是檔案內部的位置指標,隨著對檔案的讀寫檔案的位置指標(指向當前讀寫位元組)向後移動。而檔案指標是指向整個檔案,如果不重新賦值檔案指標不會改變。
rewind函式作用等同於 (void)fseek(stream, 0l, seek_set);
用 法: void rewind(file *stream);
標頭檔案: stdio.h
返回值:無
2)linux
盡量避免使用system。
1.fork乙個子程序;
2.在子程序中呼叫exec函式去執行command;
3.在父程序中呼叫wait去等待子程序結束。
對於fork失敗,system()函式返回-1。
如果exec執行成功,也即command順利執行完畢,則返回command通過exit或return返回的值。
代替system函式可以用:
標準i/o函式庫提供了popen函式,它啟動另外乙個程序去執行乙個shell命令列。
這裡我們稱呼叫popen的程序為父程序,由popen啟動的程序稱為子程序。
popen函式還建立乙個管道用於父子程序間通訊。父程序要麼從管道讀資訊,要麼向管道寫資訊,至於是讀還是寫取決於父程序呼叫popen時傳遞的引數。下在給出popen、pclose的定義:
3)提示錯誤「expected 『=』, 『,』, 『;』, 『asm』 or 『__attribute__』 before 『
原因可能是因為在宣告函式時缺少「;」
4)stat函式講解
表頭檔案: #include
#include
定義函式: int stat(const char *file_name, struct stat *buf);
函式說明: 通過檔名filename獲取檔案資訊,並儲存在buf所指的結構體stat中
返 回 值: 執行成功則返回0,失敗返回-1,錯誤**存於errno
錯誤**:
enoent 引數file_name指定的檔案不存在
enotdir 路徑中的目錄存在但卻非真正的目錄
eloop 欲開啟的檔案有過多符號連線問題,上限為16符號連線
efault 引數buf為無效指標,指向無法存在的記憶體空間
eaccess 訪問檔案時被拒絕
enomem 核心記憶體不足
enametoolong 引數file_name的路徑名稱太長
5)int main(int argc,char *argv);
第乙個引數argc用來存放命令列引數的個數
第二個引數argv是指標陣列,它是用來存放命令列中各個引數和命令字的字串的
這裡,argc的值和argv各元素的值都是系統自動組賦值的。
6)linux系統常用指令
whoami 確認當前使用者,例如:root許可權使用者
adduser 新增使用者,例如:adduser jerry
su 表示進入使用者,例如:su jerry(進入jerry)
sudo apt-get install openssh-server 是ssh的安裝命令
cd 到達指定路徑 ,例如:cd user/lib
pwd 顯示當前所在路徑
find 查詢某檔案所在路徑,例如: find ../ -name text
mkdir 建立檔案,例如:mkdir text
cp 檔案拷貝,例如:cp -r 1st 2nd(將檔案1st拷貝到2nd下)
vim 建立可程式設計檔案,例如:vim text.c
rm 刪除檔案,例如:rm -r text(rm filenmae -rf強制刪除,不帶問詢)
ls 列出當前目錄下檔案
關於檔案顏色代表檔案型別:藍色表示目錄檔案,綠色代表可執行檔案,紅色表示壓縮檔案,淺藍色表示鏈結檔案,灰色表示其他檔案,紅色閃爍表示鏈結檔案有問題,黃色是裝置檔案。
ls -l或ll 列出當前目錄下檔案及其詳細資訊(包括建立時間,許可權等)
tar 壓縮檔案命令,例如:tar cvf text.tar text(將text檔案壓縮成text.tar檔案) tar xvf text.tar(將text.tar檔案解壓到當前目錄)
shutdown -h now 或 init 0 關機命令
reboot 重啟電腦
chmod 更改檔案許可權,例如:chmod 777 text(許可權設定是八進位制的,分為可讀可寫可執行以及使用者範圍)
man 進入man手冊(查閱命令列運用),例如:man ls
ifconfig -a 檢視所有網絡卡(主要查詢ip位址)
ctrl + c 快捷鍵,注釋掉該行命令。
先分享這麼多,嚴格說不屬於原創,是對自己學習中遇到問題然後查閱前人經驗進行總結整理完成。
Linux系統程式設計 檔案 一
llinux作業系統是以檔案為基礎而設計的,llinux的檔案子系統主要用於管理檔案儲存空間的分配,檔案訪問許可權的維護,對檔案的各種操作。使用者可使用命令對檔案進行操作 程式設計師可以使用系統呼叫或c語言的庫函式對檔案進行操作。一般linux發行版本都含有以下目錄 bin boot linux d...
linux系統程式設計知識(一)
注 本文為 unix linux程式設計實踐指導 有關筆記。1.檔案 dev tty 與終端有關的檔案 是鍵盤和顯示器的裝置描述檔案,向這個檔案寫相當於顯示在使用者的螢幕上,讀相當於從鍵盤獲得使用者的輸入。即使程式的輸入 輸出被 重定向,程式還是可以通過這個檔案與終端交換資料。2.從unix中學習u...
Linux系統程式設計 程序(一)
目錄 一 什麼是程序 二 程序的 生老病死 三 程序相關函式 當elf格式的可執行程式被執行的時候,程式被載入到記憶體中執行,此時核心產生了乙個名為task struct 的結構體來表示與管理這個程序。其中 一般流程為 父程序呼叫fork函式,生成子程序 使用fork產生的子程序與父程序一模一樣,並...