當前位置:首頁 » 辦公資訊 » c語言中怎樣定義文件創建文件

c語言中怎樣定義文件創建文件

發布時間: 2022-04-26 06:23:53

⑴ 如何用C語言創建一個新文件

C語言可以通過fopen函數創建一個新文件。

細節如下:
1.
使用fopen需要添加頭文件
#include
<stdio.h>
2.
創建一個新的文本文件語句如下:
FILE
*fp=fopen("文件名",
"w");
3.
創建一個新的二進制文件的語句如下:FILE
*fp=fopen("文件名",
"wb");
4.
該函數詳細說明如下:

5.
函數原型:FILE
*
fopen(const
char
*
path,const
char
*
mode);
6.
返回值:文件順利打開後,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno中。
7.
參數說明:
參數path字元串包含欲打開的文件路徑及文件名,參數mode字元串則代表著流形態。
mode有下列幾種形態字元串:
r
以只讀方式打開文件,該文件必須存在。
r+
以可讀寫方式打開文件,該文件必須存在。
rb+
讀寫打開一個二進制文件,允許讀寫數據,文件必須存在。
w
打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。
a+
以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。
wb
只寫打開或新建一個二進制文件;只允許寫數據。
wb+
讀寫打開或建立一個二進制文件,允許讀和寫。
ab+
讀寫打開一個二進制文件,允許讀或在文件末追加數據。
例子代碼
FILE *fp; //定義文件指針
fp=fopen("d:\\out.txt","w");//打開文件
//寫文件的代碼
fclose(fp);
//關閉文件

⑵ 用C語言怎麼創建文件夾

在C語言中可以通過調用創建文件夾函數,或者使用系統命令兩種方法創建文件夾。
一、調用庫函數。
C語言庫函數創建文件夾依賴於編譯器,不同編譯器使用的創建文件夾函數不同。 舉例如下:
1、VC/VS編譯器。
函數聲明為 int _mkdir( const char *dirname );
頭文件為direct.h。
功能為創建dirname文件夾,並返回結果,如果成功則返回0,否則返回-1。
2、TC編譯器。
聲明形式為 int mkdir(char *pathname);
頭文件為dir.h。
功能為創建pathname文件夾,並返回結果,如果成功則返回0,否則返回-1。
3、gcc編譯器。
聲明形式為int mkdir(const char *pathname, mode_t mode);
其中函數頭文件為sys/stat.h, 參數類型mode_t頭文件為sys/types.h。
與其他編譯器的創建文件夾函數不同,gcc創建文件夾多了一個參數mode, 指定被創建文件夾的許可權。
函數功能為創建文件夾名為pathname, 許可權值為mode的文件夾。 如果成功則返回0,否則返回-1。
二、通過系統命令調用。
在C 語言中可以通過system函數調用系統命令,具體命令格式取決於操作系統。
比如在Linux/Unix下,可以使用:
system("mkdir ./XXX");
來創建XXX文件夾。
而在windows下需要使用dos命令,比如:
system("mkdir .\\XXX");

⑶ C語言 如何創建文件到指定文件夾

  • C語言創建新文件可用fopen()函數的"w"(寫)方式打開文件,即可。如果文件存在,將會清空現有的文件;如果不存在,則會創建該文件。

  • 若要將文件創建到指定的文件夾下,則,在fopen()函數中的文件名,帶上路徑名就可以了。但,程序如果對該文件夾沒有寫許可權,則fopen()會返回NULL。

參考代碼:

#include<stdio.h>
voidmain()
{
charfilename[100];
charfilepath[100];
charfile[200];
FILE*fp;
printf("inputfilename:");scanf("%s",filename);
printf("inputfilepath:");scanf("%s",filepath);
sprintf(file,"%s/%s",filepath,filename);
fp=fopen(file,"w");
if(fp==NULL)
{
printf("openfile:%serror ",file);
return;
}
fputs("thisisatest!",fp);
fclose(fp);
}

⑷ 如何用c語言創建一個文件,並按格式保存

保存用fwrite()來完成,創建用fopen()來完成。示例代碼如下:

#include<stdio.h>
intmain()
{
charyear[10],month[5],day[5];
printf("輸入年、月、日: ");
gets(year);
gets(month);
gets(day);
charfile_name[256]={0};
printf("輸入要建立的文件名:");
gets(file_name);
FILE*fp=fopen(file_name,"at+");
if(fp==NULL)
{
printf("can'tcreatefile!");
return0;
}
fprintf(fp,"%s年%s月%s日",year,month,day);
fclose(fp);
return0;
}

⑸ c語言怎麼創建文件,修改文件內容。

1.fopen()

fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen實現三個功能:為使用而打開一個流,把一個文件和此流相連接,給此流返回一個FILR指針。

參數filename指向要打開的文件名,mode表示打開狀態的字元串,其取值如下:

字元串 含義

"r" 以只讀方式打開文件

"w" 以只寫方式打開文件

"a" 以追加方式打開文件

"r+" 以讀/寫方式打開文件,如無文件出錯

"w+" 以讀/寫方式打開文件,如無文件生成新文件

一個文件可以以文本模式或二進制模式打開,這兩種的區別是:在文本模式中回車被當成一個字元』\n』,而二進制模式認為它是兩個字元 0x0D,0x0A;如果在文件中讀到0x1B,文本模式會認為這是文件結束符,也就是二進制模型不會對文件進行處理,而文本方式會按一定的方式對數據作相應的轉換。

系統默認的是以文本模式打開,可以修改全部變數_fmode的值來修改這個設置,例如_fmode=O_TEXT;就設置默認打開方式為文本模式;而_fmode=O_BINARY;則設置默認打開方式是二進制模式。

我們也可以在模式字元串中指定打開的模式,如"rb"表示以二進制模式打開只讀文件,"w+t"或"wt+"表示以文本模式打開讀/寫文件。

此函數返回一個FILE指針,所以申明一個FILE指針後不用初始化,而是用fopen()來返回一個指針並與一個特定的文件相連,如果成敗,返回NULL.
例:
以下是引用片段:
FILE *fp;
if(fp=fopen("123.456","wb"))
puts("打開文件成功");
else
puts("打開文件成敗");

2.fclose()

fclose()的功能就是關閉用fopen()打開的文件,其原型是:int fclose(FILE *fp);如果成功,返回0,失敗返回EOF。

在程序結束時一定要記得關閉打開的文件,不然可能會造成數據丟失的情況,我以前就經常犯這樣的錯誤。

例:fclose(fp);

3.fputc()

向流寫一個字元,原型是int fputc(int c, FILE *stream); 成功返回這個字元,失敗返回EOF。

例:fputc(』X』,fp);

4.fgetc()
從流中讀一個字元,原型是int fputc(FILE *stream); 成功返回這個字元,失敗返回EOF。

例:char ch1=fgetc(fp);

5. fseek()

此函數一般用於二進制模式打開的文件中,功能是定位到流中指定的位置,原型是int fseek(FILE *stream, long offset, int whence);如果成功返回0,參數offset是移動的字元數,whence是移動的基準,取值是:

符號常量 值 基準位置

SEEK_SET 0 文件開頭

SEEK_CUR 1 當前讀寫的位置

SEEK_END 2 文件尾部

例:fseek(fp,1234L,SEEK_CUR);//把讀寫位置從當前位置向後移動1234位元組(L後綴表示長整數)

fseek(fp,0L,2);//把讀寫位置移動到文件尾

6.fputs()

寫一個字元串到流中,原型int fputs(const char *s, FILE *stream);

例:fputs("I Love You",fp);

7.fgets()

從流中讀一行或指定個字元,原型是char *fgets(char *s, int n, FILE *stream); 從流中讀取n-1個字元,除非讀完一行,參數s是來接收字元串,如果成功則返回s的指針,否則返回NULL。

例:如果一個文件的當前位置的文本如下:
Love ,I Have

But ……..

如果用

fgets(str1,4,file1);

則執行後str1="Lov",讀取了4-1=3個字元,而如果用

fgets(str1,23,file1);

則執行str="Love ,I Have",讀取了一行(包括行尾的』\n』)。

8.fprintf()

按格式輸入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, …]);其用法和printf()相同,不過不是寫到控制台,而是寫到流罷了。

例:fprintf(fp,"%2d%s",4,"Hahaha");

9.fscanf()

從流中按格式讀取,其原型是int fscanf(FILE *stream, const char *format[, address, …]);其用法和scanf()相同,不過不是從控制台讀取,而是從流讀取罷了。

例:fscanf(fp,"%d%d" ,&x,&y);

10.feof()

檢測是否已到文件尾,是返回真,否則返回0,其原型是int feof(FILE *stream);

例:if(feof(fp))printf("已到文件尾");

11.ferror()

原型是int ferror(FILE *stream);返迴流最近的錯誤代碼,可用clearerr()來清除它,clearerr()的原型是void clearerr(FILE *stream);

例:printf("%d",ferror(fp));

12.rewind()

把當前的讀寫位置回到文件開始,原型是void rewind(FILE *stream);其實本函數相當於fseek(fp,0L,SEEK_SET);

例:rewind(fp);

13.remove()

刪除文件,原型是int remove(const char *filename); 參數就是要刪除的文件名,成功返回0。

例:remove("c:\\io.sys");

14.fread()

從流中讀指定個數的字元,原型是size_t fread(void *ptr, size_t size, size_t n, FILE *stream);參數ptr是保存讀取的數據,void*的指針可用任何類型的指針來替換,如char*、int *等等來替換;size是每塊的位元組數;n是讀取的塊數,如果成功,返回實際讀取的塊數(不是位元組數),本函數一般用於二進制模式打開的文件中。

例:
以下是引用片段:
char x[4230];
FILE *file1=fopen("c:\\msdos.sys","r");
fread(x,200,12 ,file1);//共讀取200*12=2400個位元組

15.fwrite()

與fread對應,向流中寫指定的數據,原型是size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream);參數ptr是要寫入的數據指針,void*的指針可用任何類型的指針來替換,如char*、int *等等來替換;size是每塊的位元組數;n是要寫的塊數,如果成功,返回實際寫入的塊數(不是位元組數),本函數一般用於二進制模式打開的文件中。

例:
以下是引用片段:
char x[]="I Love You";
fwire(x, 6,12,fp);//寫入6*12=72位元組
將把"I Love"寫到流fp中12次,共72位元組

16.tmpfile()

其原型是FILE *tmpfile(void); 生成一個臨時文件,以"w+b"的模式打開,並返回這個臨時流的指針,如果失敗返回NULL。在程序結束時,這個文件會被自動刪除。

例:FILE *fp=tmpfile();

17.tmpnam();

其原型為char *tmpnam(char *s); 生成一個唯一的文件名,其實tmpfile()就調用了此函數,參數s用來保存得到的文件名,並返回這個指針,如果失敗,返回NULL。

例:tmpnam(str1);

⑹ C語言中怎樣創建一個文件,並對文件進行相關操作

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <io.h>
unsigned char buffer[256];
int main()
{
int fd;
{
fd=open("myfirst.bin",O_RDWR|O_CREAT,0);

unsigned char m=0;
for(m=0;m<255;m++)
{
buffer[m]=m;
}
write(fd,buffer,256);
close(fd);
}
return 0;
}
這是建立文件並寫入0-255的程序,其他要求自己看read等函數的原型就知道怎麼做了

⑺ 如何用c語言在文件夾里創建一個文件

main()
{
char name[20];
char path[30];
FILE *fp;
scanf("%s",name);//輸入文件名。
sprintf(path,"c:\\%s.c",name);//形成路徑,根據你的需要修改默認的路徑前綴。
fp=fopen("path","wb");

}
以上就實現了你說的要求,其中有一句sprintf(path,"c:\\%s.c",name);

是形成路徑的,不一定是c:,把c:\\修改成你需要的路徑,
你生成文件總得有路徑吧,我在windows下得需要,反正以前也弄過就都寫上了,以前可是弄了好長時間按啊!!還有什麼不明白的可以交流下!!!直接hi我!!

⑻ c語言問題,如何在文件夾里創建文件

使用文件操作函數即可創建文件。
1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。
2、常式:
#include<stdio.h>
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打開輸入文件
FILE * fp2 = fopen("output.txt", "w");//打開輸出文件
if (fp1==NULL || fp2==NULL) {//若打開文件失敗則退出
puts("不能打開文件!");
return 0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數
b=fgetc(fp1);//從輸入文件讀取一個字元
fgets(c,100,fp1);//從輸入文件讀取一行字元串

printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對於文件首的偏移位元組數

fputs(c,fp2);//向輸出文件寫入一行字元串
fputc(b,fp2);//向輸出文件寫入一個字元
fprintf(fp2,"%d",a);//向輸出文件寫入一個整數

fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return 0;
}

⑼ c語言怎麼創建一個txt文件

c語言創建txt文件的步驟如下:

1、打開C-Free5.0新建一個空白頁面,然後將C語言的基礎格式寫完,注意格式縮進。

⑽ 如何用c語言創建一個文件並按格式保存

1、打開C-Free5.0新建一個空白頁面,然後將C語言的基礎格式寫完,注意格式縮進。如下圖所示。

熱點內容
馬路上汽車的噪音在多少分貝 發布:2023-08-31 22:08:23 瀏覽:1810
應孕棒多少錢一盒 發布:2023-08-31 22:08:21 瀏覽:1292
標准養老金一年能領多少錢 發布:2023-08-31 22:05:05 瀏覽:1575
湖北通城接網線多少錢一個月 發布:2023-08-31 21:59:51 瀏覽:1661
開隨車吊車多少錢一個月 發布:2023-08-31 21:55:06 瀏覽:1419
京東付尾款怎麼知道前多少名 發布:2023-08-31 21:52:58 瀏覽:1740
在學校租鋪面一個月要多少錢 發布:2023-08-31 21:52:09 瀏覽:1872
2寸有多少厘米 發布:2023-08-31 21:50:34 瀏覽:1519
知道電壓如何算一小時多少電 發布:2023-08-31 21:46:20 瀏覽:1498
金手鐲54號圈周長是多少厘米 發布:2023-08-31 21:44:28 瀏覽:1678