當前位置:首頁 » 編程語言 » c語言linux創建文件

c語言linux創建文件

發布時間: 2022-05-31 22:47:27

A. 在linux系統中,如何運行一個c語言程序

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

B. 在linux如何c語言編寫程序。

linux終端下,編譯C語言程序步驟為:
採用vi進行源代碼編寫,編寫完成後,:wq存檔退出,如:
vi test.c
在命令行下,運行gcc編譯程序,生成執行碼,如:
gcc -o test test.c
-o 表示指明生成的執行碼名稱
運行編譯後的執行碼
./test

C. 如何在linux環境下編輯一個c語言源程序並將其編譯為可執行文件

打開安裝好的Linux系統(ubuntu18.04)

1.安裝編輯器

使用語句:sudo apt-get install vim安裝vim,可以在安裝前查看是否安裝vim編輯器。(特別提示:在安裝vim前最好將軟體更新,使用指令sudo apt-get update.)之所以要加sudo的原因是這些安裝和更新軟體的時候需要使用管理員許可權才可以進行。

2.安裝gcc編譯器

和安裝vim類似使用sudo apt-get install gcc,安裝完成後可以使用cc-v來查看編譯器版本信息等。cc -v界面如下:

D. 在Linux下用C語言做個程序 創建一個txt文件 執行程序寫一段話 寫進txt

示例教程:

1. 編寫代碼

在linux下面使用命令創建main.c文件

vimmain.c

main.c代碼:

#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
#defineMAX50
intmain()
{
intfd;
charbuf[MAX];
fd=open("1.txt",O_WRONLY|O_CREAT|O_APPEND);
if(fd==-1)
{
printf("文件創建失敗");
return-1;
}
printf("請輸入要寫入的句子:");
fgets(buf,MAX,stdin);
write(fd,buf,MAX);
printf("寫入成功 ");
return0;
}

2.編譯源程序

gccmain.c-omain

結果在此路勁下會出現main源程序

完成

E. 通過幾個簡單的Linux命令,深入理解c語言編

主要使用gcc命令以及以下幾個參數:

-E Preprocess only; do not compile, assemble or link
-S Compile only; do not assemble or link
-c Compile and assemble, but do not link
-o <file> Place the output into <file>

環境配置好以後,讓我們開始c語言的編譯之旅吧~

編寫c語言源代碼
很多linux命令都可以新建一個文件,比如

$ touch test.c

建立一個空白的文件

$ vim test.c

使用vim(文本編輯器)編輯test.c,如果test.c不存在,則創建

$ echo "123" > test.c

通過輸出重定向新建一個文件

創建完test.c後,將下面這段Hello World代碼寫到test.c中(很多方法)

#include <stdio.h>
int main(){
printf("Hello world\n");
return 0;
}

寫完之後可以使用ls命令來查看當前目錄下的文件,檢查test.c是否存在

$ ls

使用cat命令查看test.c中的內容,檢查是否寫入成功

$ cat test.c

ls-cat

展開頭文件(預處理)
$ gcc -E test.c -o test_pre.c

這個命令把源代碼test.c中的頭文件展開,並把結果輸出到test_pre.c

(可以使用cat或者vim命令查看test_pre.c文件中的內容)
per
test_pre.c中的內容是這樣的,可以發現原本幾行的代碼變成了幾百行,而且已經見不到include關鍵字了,取而代之的是一些變數定義的代碼,這些代碼就是stdio.h中的內容,和stdio.h中頭文件展開後的內容。

編譯
$ gcc -S test_pre.c -o test_asm.s

這一條命令將上一步預處理過後的源代碼編譯成為匯編代碼

asm
現在看到的是test_asm.s裡面的匯編代碼。

什麼是匯編?

匯編語言是匯編指令集、偽指令集和使用它們規則的統稱,使用具有一定含義的符號為助憶符,用指令助憶符、符號地址等組成的符號指令稱為匯編格式指令。

簡單的可以理解為匯編語言是一本詞典,01100101011010這樣的二進制字元串是單詞,匯編指令是單詞的含義。計算機能讀懂二進制字元串,而人能讀懂的是翻譯過來的匯編指令。

匯編
$ gcc -c test_asm.s -o test_obj.o

這一步將test_asm.s匯編成為目標文件,目標文件中存儲的就是010101010這樣的字元串了,可以用cat命令試試去讀取test_obj.o

obj

可以發現列印出來許多不可見的字元,原因是目標文件已經是二進制格式的了,不同於源代碼(文本格式)

有關文件的格式可以看下這里的介紹:
http://www.cnblogs.com/zhangjiankun/archive/2011/11/27/2265184.html

鏈接
鏈接器負責將程序的目標文件與所需的所有附加的目標文件連接起來,最終生成可執行文件。附加的目標文件包括靜態連接庫和動態連接庫。

這個例子中沒有附加的目標文件,所以只需要目標文件做被鏈接的對象。

有關鏈接器的詳細講解大家可以看下這里:
https://www.hu.com/question/27386057

$ gcc test_obj.o -o hello

gcc本身可以充當鏈接器,這里使用gcc命令將目標文件test_obj.o鏈接成了可執行文件hello

ld

運行程序!
至此,源代碼已經經歷了預處理、編譯、匯編、鏈接四步成為了可執行文件,現在試著運行一下這個程序吧

$ ./hello

hello

小結
首先我們創建了源文件test.c,然後用gcc -E將源文件中的頭文件展開,這一步叫做預處理;
之後通過gcc -S將預處理後的源文件編譯了匯編代碼,這一步叫做編譯;
接著使用gcc -c命令將匯編代碼轉換成了二進制的目標文件,這一步操作叫做匯編;
目標文件不同於源代碼,是二進制格式,是源文件編譯過程中產生的中間文件,通過鏈接器可以將多個目標文件鏈接成為可執行文件,這一步叫做鏈接。

源文件->(預處理->編譯->匯編->鏈接)->可執行文件

一般大家所說的c語言編譯,其實是上述這四步的簡稱。

F. linux c用什麼函數創建文件夾

Linux c語言可以使用系統提供的mkdir函數來創建文件夾。

1、函數原型

int mkdir(const char *path, mode_t mode);

2、參數說明:

path是目錄名
mode是目錄許可權

3、需要頭文件

#include<sys/stat.h>

4、示例

//添加mkdir函數聲明頭文件
#include<sys/stat.h>
#include<sys/types.h>
intmain()//主函數
{
//直接調用mkdir函數
//建立一個名為的文件夾
//許可權為0777,即擁有者許可權為讀、寫、執行
//擁有者所在組的許可權為讀、寫、執行
//其它用戶的許可權為讀、寫、執行
mkdir("",0777);
return0;
}

說明:函數調用試圖建立777許可權的文件夾,但是在實際程序執行時,還需要考慮umask值,最終才會得到實際的許可權。

5、執行效果如下圖所示

說明:t.c是源碼文件,有gcc進行編譯,-o是gcc的參數,有於指明編譯後輸出的文件,t為源碼經gcc編譯後生成的可執行文件。./t是執行當前目錄下的生成的可執行文件t。

G. linux下怎麼創建c文件

用vi hello.c 或者touch hello.c。

然後寫代碼,用gcc編譯就可以了 ,wq是vi編輯器帶的命令 ,需要切換到命令模式 然後輸入wq回車就退出存檔了 ,直接在linux下輸入是沒用的,需要切換到vi的命令模式,你可以參考下vi的使用教程來學習,當然你可以用其他的編輯器 。

在VI的普通模式下按shift+ 兩次Z就是存檔退出。

H. linux下C語言怎麼獲取文件創建時間

在 Windows 下,一個文件有創建時間、修改時間、訪問時間。而在 Linux 下,一個文件也有三種時間,分別是訪問時間(Access)、修改時間(Modify)、狀態改變時間(Change)。

可以使用 stat 命令查看文件的訪問時間、修改時間和狀態改變時間。

本人使用的機器的磁碟分區使用的文件系統類型是 ext3,也就是說本人是無法查看文件創建時間的。但是,如果文件創建後就沒有修改過,修改時間=創建時間;如果文件創建後,狀態就沒有改變過,那麼狀態改變時間=創建時間;如果文件創建後,沒有被讀取過,那麼訪問時間=創建時間,當這個基本不太可能。

那什麼時候訪問時間,修改時間和狀態改變時間會變化呢?比如我們使用vi打開文件但不編輯,那麼退出後文件的訪問時間就會改變;比如我們使用vi打開文件並且編輯後保存退出,那麼文件的修改時間就會改變,當然訪問時間也改變了;再比如使用chmod +x給文件增加可執行的屬性,那麼文件的狀態改變時間就會改變。

【答題不易,請採納謝謝】

I. 怎麼用linux寫c語言

Linux正在成為開發人員的編程天堂,成為開源和免費操作系統。 Turbo C編譯器已經是一種編譯程序的舊方法,所以讓程序員轉向Linux以獲得新的編程環境。 在本文中,我們將解釋如何編寫,編譯和運行一個簡單的C程序。 這將成為您遷移到可以在Linux上編寫和執行的更復雜和有用的C程序的基礎。

我們在Ubuntu 18.04 LTS系統上運行了本文中提到的步驟和命令。

我們將使用Linux命令行工具Terminal,以編譯一個簡單的C程序。 要打開終端,您可以使用Ubuntu Dash或Ctrl + Alt + T快捷方式。

第1步:安裝build-essential軟體包

為了編譯和執行C程序,您需要在系統上安裝必要的軟體包。 在Linux終端中以root用戶身份輸入以下命令:

sudo apt-get install build-essential

系統會要求您輸入root用戶密碼; 安裝過程將在此之後開始。 請確保您已連接到互聯網。

第2步:編寫一個簡單的C程序

安裝必要的軟體包之後,讓我們編寫一個簡單的C程序。

打開Ubuntu的圖形文本編輯器,將以下示常式序寫入或復制到其中:

#include<stdio.h>

int main()

{

printf("nA sample C program www.linuxidc.comnn");

return 0;

}

然後使用.c擴展名保存文件。 在這個例子中,我將我的C程序命名為linuxidc.c

或者,您可以通過gedit中的終端編寫C程序,如下所示:

gedit linuxidc.c

這將創建一個.c文件,您可以在其中編寫和保存程序。

第3步:使用gcc編譯C程序

在終端中,輸入以下命令以生成您編寫的程序的可執行版本:

句法:

$ gcc [programName].c -o programName

示例:

$ gcc linuxidc.c -o linuxidc

J. Linux編程,怎樣用C語言創建、讀、寫文件呀希望各位賜教!謝謝

既然得到了這文件指針,你想怎麼打開都行,無需知道以前是什麼模式。
用open更新你想要的打開方式。
o_rdonly
以只讀方式打開文件
o_wronly
以只寫方式打開文件
o_rdwr
以可讀寫方式打開文件。上述三種旗標是互斥的,
也就是不可同時使用,
但可與下列的旗標利用or(|)運算符組合。
o_creat
若欲打開的文件不存在則自動建立該文件。
o_excl
如果o_creat
也被設置,
此指令會去檢查文件是否存在。文件若不存在則建立該文件,
否則將導致打開文件錯誤。此外,
若o_creat與o_excl同時設置,
並且欲打開的文件為符號連接,
則會打開文件失敗。
o_noctty
如果欲打開的文件為終端機設備時,
則不會將該終端機當成進程式控制制終端機。
o_trunc
若文件存在並且以可寫的方式打開時,
此旗標會令文件長度清為0,
而原來存於該文件的資料也會消失。
o_append
當讀寫文件時會從文件尾開始移動,
也就是所寫入的數據會以附加的方式加入到文件後面。
o_nonblock
以不可阻斷的方式打開文件,
也就是無論有無數據讀取或等待,
都會立即返回進程之中。
o_ndelay
同o_nonblock。
o_sync
以同步的方式打開文件。
o_nofollow
如果參數pathname
所指的文件為一符號連接,
則會令打開文件失敗。
o_directory
如果參數pathname
所指的文件並非為一目錄,
則會令打開文件失敗。
這是你要的
r
打開只讀文件,
該文件必須存在。
r+
打開可讀寫的文件,
該文件必須存在。
w
打開只寫文件,
若文件存在則文件長度清為0,
即該文件內容會消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,
若文件存在則文件長度清為零,
即該文件內容會消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,
則會建立該文件,
如果文件存在,
寫入的數據會被加到文件尾,
即文件原先的內容會被保留。
a+
以附加方式打開可讀寫的文件。若文件不存在,
則會建立該文件,
如果文件存在,
寫入的數據會被加到文件尾後,
即文件原先的內容會被保留。

熱點內容
安卓怎麼看蘋果手機的行駛軌跡 發布:2025-02-11 09:26:19 瀏覽:884
h板電影種子ftp 發布:2025-02-11 09:06:10 瀏覽:738
c語言數據類型定義 發布:2025-02-11 09:00:38 瀏覽:237
一個小時如何選擇伺服器 發布:2025-02-11 08:58:14 瀏覽:442
網易我的世界伺服器推薦國服 發布:2025-02-11 08:56:34 瀏覽:241
電視父母鎖屏密碼應該會是什麼 發布:2025-02-11 08:36:42 瀏覽:892
梅花適合用哪些植物進行配置 發布:2025-02-11 08:30:54 瀏覽:252
安卓手機如何像蘋果一樣彈窗 發布:2025-02-11 08:26:33 瀏覽:912
壓縮文件掃碼 發布:2025-02-11 08:20:55 瀏覽:258
小米5安卓70怎麼分屏 發布:2025-02-11 08:00:58 瀏覽:140