導航:首頁 > 文件類型 > linuxc文件是否存在

linuxc文件是否存在

發布時間:2023-05-06 17:16:32

A. linux下,C語言頭文件在哪

一、 C標准庫頭文件,以及Linux的標准庫文件的對應頭文件,默認放在/usr/include下。 如圖:

標識出回了最常用的幾答個頭文件。

二、 自定義頭文件,或者集成頭文件,需要在編譯的時候指定。可以在命令行中指定,也可以在makefile中指定。

指定自定義頭文件路徑方式為:

-IPATH1 -IPATH2...

如當前目錄下的inc文件夾,指定為頭文件, 那麼在編譯a.c時,可以命令寫作:

gcc a.c -I./inc -o a.out

B. linux c語言問題

程序中用了 curse 庫中的函數,所以自然得鏈接這個庫。
巨立安技術支持你在arm架構下學悔陸習嵌入式Linux的改岩目核前御標。

C. linux c access 在哪個庫裡面

可以使用find及local查找。
find:
1.命令格式:
find pathname -options [-print -exec -ok ...]
2.命令功能:
用於在文件樹種查找文件,並作出相應的處理
3.命令參數:
pathname: find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。
-print: find命令將匹配的文件輸出到標准輸出。
-exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為'command' { } \;,注意{ }和\;之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行。
4.命令選項:
-name 按照文件名查找文件。
-perm 按照文件許可權來查找文件。
-prune 使用這一選項可以使find命令不在當前指定的目錄中查找,如果同時使用-depth選項,那麼-prune將被find命令忽略。
-user 按照文件屬主來查找文件。
-group 按照文件所屬的組來查找文件。
-mtime -n +n 按照文件的更改時間來查找文件, - n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前。find命令還有-atime和-ctime 選項,但它們都和-m time選項。
-nogroup 查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在。
-nouser 查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在。
-newer file1 ! file2 查找更改時間比文件file1新但比文件file2舊的文件。
-type 查找某一類型的文件,諸如:
b - 塊設備文件。
d - 目錄。
c - 字元設備文件。
p - 管道文件。
l - 符號鏈接文件。
f - 普通文件。
-size n:[c] 查找文件長度為n塊的文件,帶有c時表示文件長度以位元組計。-depth:在查找文件時,首先查找當前目錄中的文件,然後再在其子目錄中查找。
-fstype:查找位於某一類型文件系統中的文件,這些文件系統類型通常可以在配置文件/etc/fstab中找到,該配置文件中包含了本系統中有關文件系統的信息。
-mount:在查找文件時不跨越文件系統mount點。
-follow:如果find命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。
-cpio:對匹配的文件使用cpio命令,將這些文件備份到磁帶設備中。
另外,下面三個的區別:
-amin n 查找系統中最後N分鍾訪問的文件
-atime n 查找系統中最後n*24小時訪問的文件
-cmin n 查找系統中最後N分鍾被改變文件狀態的文件
-ctime n 查找系統中最後n*24小時被改變文件狀態的文件
-mmin n 查找系統中最後N分鍾被改變文件數據的文件
-mtime n 查找系統中最後n*24小時被改變文件數據的文件
locate:

1.命令格式:
Locate [選擇參數] [樣式]
2.命令功能:
locate命令可以在搜尋資料庫時快速找到檔案,資料庫由updatedb程序來更新,updatedb是由cron daemon周期性建立的,locate命令在搜尋資料庫時比由整個由硬碟資料來搜尋資料來得快,但較差勁的是locate所找到的檔案若是最近才建立或 剛更名的,可能會找不到,在內定值中,updatedb每天會跑一次,可以由修改crontab來更新設定值。(etc/crontab)
locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的資料庫內,尋找合乎範本樣式條件的檔案或目錄錄,可以使用特殊字元(如地*地 或地?地等)來指定範本樣式,如指定範本為kcpa*ner, locate會找出所有起始字串為kcpa且結尾為ner的檔案或目錄,如名稱為kcpartner若目錄錄名稱為kcpa_ner則會列出該目錄下包括 子目錄在內的所有檔案。
locate指令和find找尋檔案的功能類似,但locate是透過update程序將硬碟中的所有檔案和目錄資料先建立一個索引資料庫,在 執行loacte時直接找該索引,查詢速度會較快,索引資料庫一般是由操作系統管理,但也可以直接下達update強迫系統立即修改索引資料庫。
3.命令參數:
-e 將排除在尋找的范圍之外。
-1 如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到許可權無法看到 的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統中取得檔案的 許可權資料。
-f 將特定的檔案系統排除在外,例如我們沒有到理要把 proc 檔案系統中的檔案 放在資料庫中。
-q 安靜模式,不會顯示任何錯誤訊息。
-n 至多顯示 n個輸出。
-r 使用正規運算式 做尋找的條件。
-o 指定資料庫存的名稱。
-d 指定資料庫的路徑
-h 顯示輔助訊息
-V 顯示程式的版本訊息

D. c++ 判斷文件夾是否存在,不存在則創建

c++中,<io.h>中的_access可以判斷文件是否存在,<direct.h>中的_mkdir可以岩鬧尺創建文件。

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

建單級目錄:

#include <io.h>

#include <direct.h>

#include <string>

int main()

{

std::string prefix = "彎蘆G:/test/";

if (_access(prefix.c_str(), 0) == -1) //如果文件夾不存在

_mkdir(prefix.c_str()); //則創建

}

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

建多級目錄:

最後一個如果是文件夾的話,需要加上 '\\' 或者 '/粗高'

#include <io.h>

#include <direct.h>

#include <string>

int createDirectory(std::string path)

{

int len = path.length();

char tmpDirPath[256] = { 0 };

for (int i = 0; i < len; i++)

{

tmpDirPath[i] = path[i];

if (tmpDirPath[i] == '\\' || tmpDirPath[i] == '/')

{

if (_access(tmpDirPath, 0) == -1)

{

int ret = _mkdir(tmpDirPath);

if (ret == -1) return ret;

}

}

}

return 0;

}

E. c語言編寫一個程序後,為什麼編譯是是文件不存在,要如何調節

可能是你的文件夾地址設置不正確,不知道你用了那個版本的C,如果是TC,可以這樣去檢查一下(設TC目錄是C:\TC):
運行TC,進入Options/Directories,把其中的Include Directories設置為C:\TC\INCLUDE 。

F. linux c判斷文件是否存在

intmain(int, argc, char **, argv){

FILE *Bootfp; /* access channel *//* Open channel to boot image */ if ((Bootfp = fopen("文件名", "r")) == NULL) { fprintf(stderr, "Cannot open %s\n", "文件名"); exit(1); }

}

G. linux c 判斷文件是否存在

#include <unistd.h>
int access(const char *pathname, int mode); //凱鎮mode填F_OK試試。
返回0表示存在;返回盯帆粗轎大-1表示不存在。

H. linux c 檢查進程是否存在

1、 是一個shell裡面的命令,用來輸出當前進程狀態的。想知道詳細用法可以在linux命令行中輸入: man ps
2、"ABNORMAL",注意這是一個字元串常量,因為在C語言中使用雙引號可以定義一個字元串常量。這個字元串可以是程序員自己隨便寫的,就像"hello word" 一樣。"ABNORMAL"表示不正常的意思。

3、ERROR、CONFLICT、NOERROR三個常量,可以使用#define語句進行定義。至於是在哪個頭文件中定義很難說。我建議你可以在當前的.c文件開始的地方自己定義一下,例如:
#include <stdio.h>
... /*其他的頭文件等等*/

#define ERROR -1
#define CONFLICT 1
#define NOERROR 0

... /*其他的函數*/

int detect_process(char * process_name)
{
FILE *ptr;
char buff[512];
char ps[128];
sprintf(ps,"ps -e | grep -c ' %s</p>",process_name);
strcpy(buff,"ABNORMAL");
if((ptr=popen(ps, "r")) != NULL)
{
while (fgets(buff, 512, ptr) != NULL)
{
if(atoi(buff)>=2)
{
pclose(ptr);
return CONFLICT;
}
}
}
if(strcmp(buff,"ABNORMAL")==0) /*ps command error*/
return ERROR;
pclose(ptr);
return NOERROR;
}

請注意:裡面有個popen() pclose()函數,是通過管道創建一個進程,這兩個函數必須要有<stdio.h>文件。具體的參數可以參看網路:http://ke..com/view/2445803.htm?fr=aladdin。
atoi()函數能將字元串轉換成整型數。參考網路:http://ke..com/view/653935.htm。

4、整個程序的意思是:

(1)使用"ps"命令,將結果保存到ps變數中,注意sprintf的第一個參數是一個char數組。
(2)將"ABNORMAL"字元串保存到buff變數中,buff也是一個char數組。
(3)使用popen()函數創建一個進程,並將這個進程定向到標准輸出(也就是顯示器上)。
(4)將進程的輸入出存到buff變數中,然後將其轉化為數字
(5)如果這個數字>=2說明發生了沖突,返回CONFLICT
(6)在循環之後,比較一下,如果buff一直是"ABNORMAL",說明ps 命令出錯,返回ERROR
(7)否則返回NOERROR

綜上:ERROR、CONFLICT、NOERROR幾個變數只是作為函數返回值,告訴函數調用者這次調用的結果而已,所以完全可以自己定義。除非你們公司已經規定了ERROR必須是某個值,不然你是可以自己定義的,只是在以後調用detect_process()函數的時候記得什麼返回值對應什麼結果就行了。
自己定義就是在.c文件開頭使用#define 好了。

I. linux怎樣實現一個C函數檢查文件夾是否存在,如果不存在,創建它,只能使用標准庫

這個玩意有標准庫,看書上的例字,一定是有寫的,
就是在存取文件的那部分章節。

ps:你搜io.h,file.h,應該就有……

J. 在Linux系統中,如何運行一個C語言程序

1、打開kali linux的終端。創建一個文件並命名為test.c。在終端輸入:touch test.c。

閱讀全文

與linuxc文件是否存在相關的資料

熱點內容
帶官網的有哪些網站 瀏覽:265
江蘇校服通官網app怎麼下不了 瀏覽:929
車床清根怎麼編程 瀏覽:867
word2007表格內容上下居中 瀏覽:818
蘋果手機視頻傳送不了qq文件 瀏覽:738
文件夾加密保護 瀏覽:852
蘋果5瀏覽不到網路 瀏覽:932
修電腦什麼編程器最好 瀏覽:557
計算機網路期末論文 瀏覽:731
領導現場工作照怎麼取文件名 瀏覽:957
iphone4s喇叭失靈播放音樂沒聲音 瀏覽:457
如何查找各省份的行業數據 瀏覽:462
保存到考生文件是哪個文件 瀏覽:272
linuxvim分屏 瀏覽:640
網路打牌被監控怎麼辦 瀏覽:10
為什麼漢化版編程語言沒有發展 瀏覽:86
linux剪裁 瀏覽:393
廣州銀行app有什麼區別 瀏覽:585
蘋果系統測試文件 瀏覽:176
安卓程序安裝失敗 瀏覽:519

友情鏈接