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

输出结果如图