Ⅰ 如何用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]=='