当前位置:首页 » 编程语言 » 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();

}