當前位置:首頁 » 編程語言 » c語言寫入一個新文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言寫入一個新文件

發布時間: 2023-05-17 01:25:25

A. 如何用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);
//關閉文件

B. 用c語言把一個A文件內容寫入B新文件

/* 完全可以符合碧茄要求 */

#include<stdio.h>

int main( void )
{
int ch;
FILE *fp_a = fopen("A.TXT", "悔返察r");
FILE *fp_b = fopen("B.TXT", "w"世態);

ch = fgetc(fp_a);
while(ch != EOF)
{
fputc(ch, fp_b);
ch = fgetc(fp_a);
}

fclose(fp_a);
fclose(fp_b);

return 0;
}

C. C語言文件寫入怎麼操作

C++的文本文件寫入
// outfile.cpp -- writing to a file
#include <iostream>
#include <fstream> // for file I/O

int main()
{
using namespace std;

char automobile[50];
int year;
double a_price;
double d_price;

ofstream outFile; // create object for output
outFile.open("carinfo.txt"); // associate with a file

cout << "Enter the make and model of automobile: ";
cin.getline(automobile, 50);
cout << "Enter the model year: ";
cin >> year;
cout << "Enter the original asking price: ";
cin >> a_price;
d_price = 0.913 * a_price;

// display information on screen with cout

cout << fixed;
cout.precision(2);
cout.setf(ios_base::showpoint);
cout << "Make and model: " << automobile << endl;
cout << "Year: " << year << endl;
cout << "Was asking $" << a_price << endl;
cout << "Now asking $" << d_price << endl;

// now do exact same things using outFile instead of cout

outFile << fixed;
outFile.precision(2);
outFile.setf(ios_base::showpoint);
outFile << "Make and model: " << automobile << endl;
outFile << "Year: " << year << endl;
outFile << "Was asking $" << a_price << endl;
outFile << "Now asking $" << d_price << endl;

outFile.close(); // done with file
return 0;
}

D. c語言寫入文件方法是什麼

程序注意的一點,二進制和文本形式的讀取區別你需要鞏固,讀的文件就不要以讀寫形式打開,養成一個好的習慣。x0dx0a另外一個不太重要的一點,id確實很少作為int類型的,因為有些id會很長,比如10位20位,這慧搭樣int就存不下了,而用char數組存的話只需要10個位元組20個位元組就能存下,對於每一位也好比較。x0dx0a#include x0dx0a#include x0dx0atypedef struct studentx0dx0a{x0dx0a int unsigned id;x0dx0a float score [3];x0dx0a float rank;x0dx0a}Student;x0dx0ax0dx0aint main ()x0dx0a{x0dx0a Student s;x0dx0a FILE * fp;x0dx0a fp=fopen("C:\\f11.txt","r"); //盡量以可讀方式打開x0dx0a if (!fp)x0dx0a {x0dx0a printf("file cannot be opened");x0dx0a exit(1);x0dx0a }x0dx0a //fscanf(fp,"%d %f %f %f",&s.id,&s.score[0],&s.score[1],&s.score[2]); 這一行拿到下面while語句裡面x0dx0a //fprintf(stdout,"%g",s.score[2]); x0dx0a FILE * fw;x0dx0a fw=fopen("C:\\f11a.txt","w"); /前滲拿/注喊桐意wb是以2進制形式打開文件,還有目錄的格式x0dx0a if (!fw)x0dx0a {x0dx0a printf("file cannot be opened");x0dx0a exit(1);x0dx0a } x0dx0a x0dx0a while(!feof(fp))x0dx0a {x0dx0a fscanf(fp,"%03d%f%f%f",&s.id,&s.score[0],&s.score[1],&s.score[2]);x0dx0a s.rank=(s.score[0]+s.score[1]+s.score[2])/3;x0dx0a fprintf(fw,"%03d\t%.1f\t%.1f\t%.1f\t%.1f\n", s.id, s.score[0], s.score[1], s.score[2], s.rank); //尤其注意fprintf和fwrite不同,fwrite是以二進制形式寫文件,如果用fwrite的話將會顯示亂碼,fwrite和fread配套,fscanf和fprintf配套x0dx0a }x0dx0ax0dx0a fclose (fp);x0dx0a fclose(fw);x0dx0a return 0;x0dx0a}

E. C語言如何以插入方式寫入文件

一、以只讀的方式打開原文件fopen,"r"方式;
二、以只寫的方式新建一個文件fopen,"wt"方式;
三、將原文件自y字母前的九個位元組的字元寫入新文件配合用fgetc()和fputc()兩種函數;
四、再將四個『Z』寫入新文件,用fputc()或者fputs()均可;
五、繼續將原文件未讀完的部分寫入新文件,同三
六、將原文件刪除,再將新文件改名為原文件即可,用rename()函數

F. C語言如何以插入方式寫入文件

這是不可能實現的。因為數據在硬碟上是連續保存的。x0dx0a你真要插入的話,唯一的辦法是將插入點後面的所有數據都備份一下,然後等你輸入了待插入數據後(這意味著有若干位元組被覆蓋了,不過反正已經備份了),將備份的那些重新輸入到文件里。x0dx0a當然,如果你是在文件開頭插入數據,就意味著要重新寫一遍整個文件,耗時會很長,但這也是不可避免的。x0dx0a如果不想破壞原文件的話,可以使用一個臨時文件,修改完後刪除原文件,將臨時文件重命名為原文件的名字。

G. C語言如何寫入文本文件

1、首先輸入下方的代碼

#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;

}

H. c語言數據寫入文件

兩種方法

一種

#include<stdio.h>
#include<math.h>
intmain()
{FILE*fpt;
intT=300;
doublem=0.029,v,k=1.38464,f,a,b,c,d,e;
fpt=fopen("shuju1.txt","w");//循環外打開關閉文件
for(v=0;v<1000;v=v+0.1)
{a=m/(2*k*T);
b=pow(v,2);
c=4*pow(a,1.5);
d=a*b;
e=exp(-d);
f=c*b*e;
printf("%f ,%f ",v,f);

fprintf(fpt,"%f,%f ",v,f);
}
fclose(fpt);
return0;}


另一種 用a屬性 追加文件

#include<stdio.h>
#include<math.h>
intmain()
{FILE*fpt;
int遲燃T=300;
doublem=0.029,v,k=1.38464,f,a,b,c,d,e;
for(v=0;v<1000;v=v+0.1)
{a=m/(2*k*T);
b=pow(v,2);
c=4*pow(a,1.5);
d=a*b;
e=exp(-d);
f=c*b*e;
printf("%f ,%f ",v,f);
fpt=fopen("shuju1.txt","a");
fprintf(fpt,"%f,%f ",v,f);
fclose(fpt);}

return0;}

都可以肢雹做到你的效果。


區別是 第二種,多次執行程序後,所有輸出會累加。

而第一種只保存一次執行的,再次執行文件會被覆歷旦帆蓋。

I. c語言怎麼將數據寫入文件

利用VC軟體通過代碼書寫就可以將數據寫入文件。

J. C語言從一個文件讀數據到寫入另一個文件

你可以模仿者寫下,atoi()//可以把字元串變成數字

//比如atoi(「1234」)=1234,下面輸出的是我的文當格式

#include<iostream>

using namespace std;

void read()

{

FILE *fp;

char n1[20],n2[20],n3[20],n4[20];

int a,b,c,d;

if((fp=fopen("date.txt","r"))==NULL)

{

cout<<"can not open the file ";

exit(0);

}

fscanf(fp,"%s ",n1);


a=atoi(n1);//把字元串轉變成數字

cout<<a<<endl;

while(!feof(fp))

{

fscanf(fp,"%s%s%s%s ",n1,n2,n3,n4);

cout<<n1<<" "<<n2<<" "<<n3<<" "<<n4<<endl;

}


}

void main()

{

read();

}