【UNIX】怎麼將buf和fgets運用在文件IO中open函數中

open函數打開創建文件一般有幾種方式:

1)第一種情況下是通過指定路徑:

open =("/tmp/text..c",O_RDWR|O_CREAT|O_APPEND,0666);

這樣就會在/TMP文件目錄下就會自動創建了text.c了文件


2)通過int mian (int argc,char *argv[])在shell終端輸入命令,指定文件,會在缺省情況下自動創建不要自定文件路徑

open = (argv[1],O_RDWR|O_CREAT|O_APPEND,0666);


3)對於文件路徑名,其實在計算機中也以字符串的形式存放在系統緩存中,這樣我們就可以定義一個字符串數組來變相的創建文件,還可以通過fgets函數通過標準輸入來創建打開文件,但是這裏要注意的是對於標準輸入,系統會在字符串尾部默認添加‘\n'這樣改變了BUF中的文件路徑,我們就要在fgets輸入的buf中strlen(buf)-1來去除’\n'

具體代碼如下:

#include
#include
#include
#include
#include
#include
#include

int main ()
{
	char buf[40];
//	char buf [40] ="/mnt/hgfs/Linux/text/kano.c";
	fgets(buf,40,stdin);
	buf[strlen(buf)-1] = '\0';
	puts(buf);

	open (buf,O_RDWR|O_CREAT|O_TRUNC,0666);
	
	return 0;
}


發佈了65 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章