當前位置:首頁 » 編程語言 » c語言程序設計如何建文本文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言程序設計如何建文本文件

發布時間: 2023-01-10 19:06:58

Ⅰ 如何用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語言在E盤上建立一個文本文件,將鍵盤上輸入的若干個字元存入該文件中,但數字字元除外

以下當參考吧,c++寫的--文本文件的輸入輸出,以及統計英文文本的行數字元數,單詞數。改一下頭文件,cout cin 改printf scanf 就是了。
方法還是可以借鑒的~

輸入:

#include <iostream>
#include <string>
#include <fstream>
using namespace std;
main()
{
string line;//不可以用char定義。
string filename;
fstream file;
cout<<"please input the filename:";
cin>>filename;
file.open(filename.c_str());//輸入的是D:\guo.txt
if(!file)
{
cout<<"file open fail"<<endl;
}
while(getline(file, line, '\r'))//從文件中讀取字元串到輸入輸出流中。不可以換成get()。
{
cout<<line<<endl;
}
file.close();
return 0;
}

或者:

#include <iostream>
#include <string>
#include <fstream>
using namespace std;
main()
{
static int line;
static int num;
char ch;
string stringline;
string filename;
ifstream file;
cout<<"please input the filename:";
cin>>filename;
file.open(filename.c_str());//輸入的是D:\guo.txt

if(!file)
{
cerr<<"file open fail"<<endl;
exit(-1);
}
else
{
cout<<"the artical is:"<<endl;
while(file.get(ch))
{
cout.put(ch);
}
file.close();
}
return 0;
}

輸出:

#include<iostream>
#include<fstream>
using namespace std;
main()
{
char *line=new char;
fstream file;
file.open("d:\\guo.txt",ios::out|ios::trunc);
if(!file)
{
cerr<<"file open or creat error"<<endl;
exit(1);
}
while(cin.get(line,100))
{
file<<line<<endl;
if(cin.get()==' ')
break;
}
file.close();
}

或者:

#include<iostream>
#include<fstream>
using namespace std;
main()
{
char *line=new char;
fstream file;
file.open("d:\\guo.txt",ios::out|ios::trunc);
if(!file)
{
cerr<<"file open or creat error"<<endl;
exit(1);
}
do
{
cin.getline(line,100);
file<<line<<endl;
}
while(strlen(line)>0&&!cin.eof());
file.close();
}
C++ 統計英文文本 中的 行數 單詞數
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
main()
{
int num0=0;
int num1=0;
int tempernum0=0;
int line=0;
int i;
string str;//不可以用char定義。
string filename;
fstream file;
cout<<"please input the filename:";
cin>>filename;
file.open(filename.c_str());//輸入的是D:\guo.txt
if(!file)
{
cout<<"file open fail"<<endl;
}
cout<<"文本中的內容是:"<<endl;
while(getline(file, str, '\n'))
{
cout<<str<<endl;//文本輸出
line++;//行數統計
int n=str.length();
if(n!=0)
tempernum0++;//統計非空行末尾的單詞數目
string::iterator itr=str.begin();
for(i=0;i<n-1;i++)
{
if(itr[i]==' '&&itr[i+1]!=' ')
num0++;//字數統計,非空行末尾的單詞沒有被統計進去,最後要再加上非空行的行數。
}
for(i=0;i<n;i++)
{
if(itr[i]!=' ')
num1++;//字元數目統計
}
}
cout<<"行數是:"<<line<<endl;
cout<<"單詞數是:"<<num0+tempernum0<<endl;
cout<<"字元數是:"<<num1<<endl;
file.close();
return 0;
}

Ⅲ 請問要用c語言編程,怎麼創建目標文件啊

源代碼文件可以用任意文本編輯.
目標文件由編譯器生成.具體的生成方法在不同的開發環境上是不同的.
gcc的例子:

gcc -o target_file test.c

編譯test.c生成可執行文件target_file

gcc -c test.c

編譯test.c ,生成目標文件test.o,但不進行link.

Ⅳ 怎麼用c語言生成一個特定大小的文本文件

#include <stdio.h>
void CreateMyFile(char * szFileName,int nFileLength)
{
FILE* fp = fopen(szFileName, "wb+"); // 創建文件
if(fp==NULL)
printf("文件打開失敗");
else
{
fseek(fp, nFileLength-1, SEEK_SET); // 將文件的指針 移至 指定大小的位置
fputc(32, fp); // 在要指定大小文件的末尾隨便放一個數據
fclose(fp);
}
}
void main()
{
CreateMyFile("test.txt",1024*256); //調用測試

}

Ⅳ 如何用C語言程序創建一個由自己命名的文本

#include<stdlib.h>
#include<stdio.h>
voidmain()
{
FILE*fp;
chara[10];
scanf("%s",a);
getchar();
fp=fopen("C:\迅雷下載\a.txt","w");//這里你的文件沒有擴展名把它改成a.txt就可以了!
if(fopen==NULL)
{
printf("filecannotopen");
exit(0);
}
fprintf(fp,"%d",999);
fclose(fp);
}

Ⅵ 用c語言創建一個txt文件,並且寫入數據

#include <stdio.h>

int main()

{

//下面是寫數據,將數字0~9寫入到data.txt文件中

FILE *fpWrite=fopen("data.txt","w");

if(fpWrite==NULL)

{
return 0;

}

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

fprintf(fpWrite,"%d ",i);

fclose(fpWrite);

//下面是讀數據,將讀到的數據存到數組a[10]中,並且列印到控制台上

int a[10]={0};

FILE *fpRead=fopen("data.txt","r");

if(fpRead==NULL)

{
return 0;

}

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

{

fscanf(fpRead,"%d ",&a[i]);

printf("%d ",a[i]);

}

getchar();//等待


return 1;

}


(6)c語言程序設計如何建文本文件擴展閱讀:

c語言最常用的文件使用方式及其含義
1、"r".為讀而打開文本文件.(不存在則出錯)

2、"rb".為讀而打開二進制文件.

3、"w".為寫而打開文本文件.(若不存在則新建,反之,則從文件起始位置寫,原內容將被覆蓋)

4、"wb".為寫而打開二進制文件.

5、"a".為在文件後面添加數據而打開文本文件.(若不存在,則新建;反之,在原文件後追加)

6、"ab".為在文件後面添加數據而打開一個二進制文件.

7、"r+".為讀和寫而打開文本文件.(讀時,從頭開始;在寫數據時,新數據只覆蓋所佔的空間,其後不變)

8、"rb+".為讀和寫而打開二進制文件.只是在隨後的讀寫時,可以由位置函數設置讀和寫的起始位置.

9、"w+".首先建立一個新文件,進行寫操作,隨後可以從頭開始讀.(若文件存在,原內容將全部消失)

10、"wb+".功能與"w+"同.只是在隨後的讀寫時,可以由位置函數設置讀和寫的起始位置.

11、"a+".功能與"a"相同;只是在文件尾部添加新的數據後,可以從頭開始讀.

12、"ab+".功能與"a+"相同;只是在文件尾部添加新數據之後,可以由位置函數設置開始讀的起始位置.

參考鏈接來源:網路-C語言

Ⅶ 如何用C語言創建和刪除文件

一、創建文件:

在C語言中創建文件,使用fopen函數,同時指定為只寫即可。

參考代碼如下:

/*
函數功能:創建文件名為s的文件。
返回值:
-1參數錯誤
0創建成功
1文件已存在
2創建失敗
*/
intcreate_file(char*s)
{
FILE*fp;
if(s==NULL||s[0]=='')return-1;//參數為空,即錯誤參數。
fp=fopen(s,"r");//以只讀方式打開
if(fp)//打開成功,表示文件已經存在。
{
fclose(fp);//關閉文件
return1;//返迴文件已存在。
}
fp=fopen(s,"w");//以只寫方式創建文件。
if(fp==NULL)
return2;//創建失敗。
fclose(fp);//關閉文件。
return0;//創建成功。
}

二、刪除文件:

在C語言中,有專門的刪除文件函數remove。

1、頭文件:stdio.h

2、聲明:int remove(const char* filename);

3、功能:刪除文件名為filename的文件。

4、返回值:刪除成功,返回0.否則返回-1.

5、示例代碼:

#include<stdio.h>
intmain()
{
chars[100];
intret;
scanf("%s",s);//輸入文件名。
ret=remove(s);//刪除文件
if(ret==0)//根據結果給出相應提示
printf("刪除文件成功 ");
else
printf("刪除文件失敗 ");
return0;
}

Ⅷ C語言怎樣創建一個文本文件

讀文件是這樣的:
#include
"stdlib.h"
main()
{
FILE
*fp;
char
buf;
fp=fopen("a.txt","r");
while(fread(&buf,1,1,fp))
printf("%c
",buf);
fclose(fp);
}
寫文件是這樣的:
#include
"stdlib.h"
main()
{
FILE
*fp;
char
buf;
fp=fopen("a.txt","w");
while((buf=getchar())!='q')
fwrite(&buf,1,1,fp);
fclose(fp);
}
PS:這里buf緩沖區只開了一個位元組,做個例子,你可根據需要變化.
你的問題可能原因是:輸出內容超過了你的緩沖區.
比如:你讀出10個位元組,甚至可能沒讀出,而你列印100個位元組,後面的就很有可能是"燙".應該不是2進制的問題.

Ⅸ 求大神!!C語言怎樣創建文本文件 並且是用戶自己輸入文件名

代碼如下:
#include
<
>
int
main()
{
char
filename[260];
FILE
*fp;
scanf("%s",
filename);
strcat(filename,
".txt");
if((fp
=
fopen(filename,
"w"))==NULL)
{
printf("讀取文件");
return
0;
}//
文件已經創建
往寫東西
fclose(fp);
return
0;
}

Ⅹ C語言 :如何建立文本文件,編程把文本文件中的字元串逆序輸出

文本文件使用windows記事本就可以建立,每個字元串一行,用回車換行就行。

程序代碼:

#include<stdio.h>

intmain()

{FILE*fp;

intk,i=0,j;

charstr[1024][20];//可以存放1024個串,每個串小於20個字元

if((fp=fopen("D:\dat.txt","r"))==NULL)//文本文件使用「r」打開讀入,文件在D的根目錄下

{ printf("error");//如果打開文件失敗就輸出error

return0; }

while(!feof(fp))//讀入文件內容,直到文件結束

{fscanf(fp,"%s",str[i++]);}//二維數組每行一個字元串

fclose(fp);//關閉文件

for(k=i-1;k>=0;k--)//從最後一個字元串開始輸出

for(j=strlen(str[k])-1;j>=0;j--)//從每個串的最後一個字元開始,輸出到第一個字元結束

{printf("%c",str[k][j]);//倒序輸出str記錄的文件內容

}

printf(" ");

system("pause");

}

文本文件的內容:

abc

sdf

efghij

klmn

opqrst

uvwxyz

輸出結果如圖