导航:首页 > 文件目录 > 编程读取该文件内容

编程读取该文件内容

发布时间:2023-07-03 01:51:01

『壹』 C语言程序设计 简单的读取文件并整理数据

首先还是先完整的学习一下文件打的所有方式。
文件的打开方式是由,w,a,t,b,+,六个字符组成。如下:
“r” 只读打开文件,如果文件不存在,返回一个错误.
“r+” 可读写打开文件,如果文件不存在,返回错误.
“w” 只写打开文件,如果文件不存在,则创建一个新的文件,如果已经存在,将里面的内容清空.
“w+” 可读写打开文件,如果文件不存在,创建新文件,如果已经存在,清空文件中的内容.
“a” 以追加写入的方式打开文件(在文件未尾追加写入数据) ,如果文件不存在,创建新文件.
“a+” 以可读取并且可追加写入的方式打开文件,如果不存在,创建新文件.
如果要指定打开文本文件,则在打开方式中加入’ t ‘ 字符.如果是二进制文件,则加入’ b ‘ 字符. 如下:

1

"rt" "rt+" "r+t" "rb" "rb+" "r+b"

当以追加方式打开文件时,文件的数据偏移指针会指向文件的最未尾,如果此时从文件读入数据,可能会失败,都已经文件未尾了,还有什么数据要读的?所以追加方式打开时,不要第一时间读入数据.
注意: 如果想打开文件后,先读取数据,然后再写入,请不要用”w+”的方式,因为”w”方式会把已存在的文件的数据清空,所以会发生读取错误.
基于上面介绍,我们这章要从一个文本文件中读取数据,所以使用下面代码打开文件:

1
2
3
4

FILE * fptr;
fptr = fopen( FILE_NAME , "rt" );
.....
fclose( fptr );

读取文件的函数原型如下:

1
2

int fgetc( FILE* fstream);
char* fgets( char* buf , int n , FILE* fstream);

fgetc() 返回读到的字符的ASCII码.
在fgets()中,buf参数用来指定一个字符串指针来接收读到的数据,参数n用来指定读入的最大字符数.
fgets() 返回读到的字符串指针.如果错误,返回NULL.
并且,我们可以用feof()函数来判断是否已经读到了文件的未尾.

1

int feof( FILE* fstream);

如果已经读到文件未尾,feof()返回非0值(也就是TRUE值),如果没有,返回0(FALSE);
学完了上面,我们现在准备一个data.txt文件,内容可以,也可以你喜欢的任何内容:

1
2
3

1234567890
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz

请把data.txt文件与程序一起放在同一个文件夹,否则会有打开data.txt文件错误
然后编写一个程序,代码如下:

C

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

/*
本程序中涉及到的fputc() 和 fputs()函数在上一章已经作了介绍,可自行查阅.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FILENAME "data.txt" //文件名
#define BUFSIZE 27 //缓存的大小为27字节
int main( int argc , char* argv[])
{
FILE *fptr;
char buf[BUFSIZE];
char ch;
fptr = fopen( FILENAME , "r+t");
if ( fptr == NULL )
{
puts( "open file error");
exit(1);
}
do{
ch = fgetc( fptr);
fputc(ch , stdout);
}while( ch != 'n' );//如果读到换行符,就退出循环.
while( ! feof( fptr) ){//如果读到文件未尾,就退出循环.
memset ( buf , 0 , BUFSIZE);
fgets( buf , BUFSIZE -1 , fptr );
//之所以要限制读入的数据长度为BUFSIZE-1,因为buf字符串的最后一个字符必须为'',防止被读入的数据覆盖.
fputs( buf , stdout);
}
fclose( fptr);
getchar();//程序暂停,按下回车键后继续
return 0 ;
}

把代码复制到编译环境中编译后,把执行程序放在与data.txt相同的文件夹,然后运行,就会看到效果了.

『贰』 c语言怎么读取文件内容并且计算

主要通过fscanf,fprintf格式化输入输出函数实现,主要代码如下,
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *pf=NULL;
char name[20];//存储用户名
float salary=0;//存储工资
pf=fopen("test.txt", "r+" );//test.txt文件中内容为kobe 90000.80
if(!pf)
{
printf("打开文件失败,程序退出!");
exit(1);
}
fscanf(pf,"%s %f",name,&salary);
salary*=0.9;//处理工资,例如扣除五险、扣税等。
fprintf(pf,"\n%f",salary);//写入test.txt文件中
printf("%s %f\n",name,salary);//输出kobe 81000.718750
if(pf)//关闭文件
{
fclose( pf);
pf=NULL;
}
return 0;
}

int fscanf( FILE *stream, const char *format, ... );函数fscanf()以scanf()的执行方式从给出的文件流中读取数据,
fscanf()的返回值是事实上已赋值的变量的数,如果未进行任何分配时返回EOF。
int fprintf( FILE *stream, const char *format, ... );fprintf()函数根据指定的format(格式)发送参数到由stream指定的文件。fprintf()只能和printf()一样工作,
fprintf()的返回值是输出的字符数,发生错误时返回一个负值。

『叁』 java编程:从一个名为file的文件中逐行读取然后将读取的内容放进另一个文件file1中。

/**
* 以行为单位读取文件,常用于读面向行的格式化文件
*
* @param fileName
* 文件名
*/
public static void readFileByLines(String fileName) {
file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
// 显示行号
System.out.println("line " + line + ": " + tempString);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
/**
* 文件写入
*
* @param filePath 路径名称
* @param sb 要写入的字符
*/
public void writeFromBuffer(String filePath, String sb)throws IOException {
File file = new File(filePath);
FileWriter fw;
try {
fw = new FileWriter(file);
if (sb.toString() != null && !"".equals(sb.toString())) {
fw.write(sb.toString());
}
fw.close();
} catch (IOException e) {
throw new IOException("文件写入异常!请检查路径名是否正确!");
}

}

自己组织一下,读取的数据可以放在stringbuffer里然后在传给写入方法

『肆』 在C语言中,举例说明如何打开一个文本文件,并读入文件中的数据

1.首先,使用VS构建一个新的空项目,然后直接单击ok。

『伍』 C语言编程:读取当前目录下的英文文章file.txt,按原格式显示在屏幕上,咋写

#include <stdio.h>

#include<stdlib.h>

#include<string.h>

#define N 10000

int main ()

{

char str[N];

char a[111][30];

int k=0,j=0;

FILE *fp;

if((fp=fopen("D:\file.txt","r"))!=NULL)

printf("文件打开成功 ");

else

{

printf("文件打开失败 ");

exit(0);

}

while(fgets(str,N,fp)!=NULL)//利用fgets函数将文本中的非空字符全部储存在数组str中

for(int i=0;i<strlen(str);i++)

if(str[i]!=' '&&str[i]!='.')

a[k][j++]=str[i];//将每个单词储存在二维数组a的每一行

else

{

k++;//行下标

j=0;//列下标

}

printf("共%d个单词 ",k);

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

puts(a[i]);

fclose(fp);//关闭文件

return 0;

}

『陆』 用C语言编写读入并读取一个文件,按照下面的要求编写程序

#include<stdio.h>

#include<stdlib.h>

int main()

{

FILE *fp,*ok;

char str1[80],str2[80];

if((fp=fopen("d:\file.txt","r+"))==NULL)//打开d盘下名为file的文本文件;

{

puts("file文件打开失败!");

exit(0);

}

else

puts("file文件打开成功");

if((ok=fopen("d:\file1.txt","r"))==NULL)//打开d盘下名为file1的文本文件;

{

puts("file1文件打开失败!");

exit(0);

}

else

puts("file1文件打开成功");

/*__________________*/

scanf("%[^!]",str1);//输入一串字符,以!为结束标志;

fprintf(fp,"%s",str1);//将字符串str1写入指针fp所指向的文件;

fscanf(ok,"%s",str2);//读取指针ok指向的文件,将内容以字符串的形式存储在数组str2中 ;

puts(str2);

/*__________________*/

fclose(fp);//关闭文件;

fclose(ok);

return 0;

}

阅读全文

与编程读取该文件内容相关的资料

热点内容
5g网盟app怎么下载 浏览:486
微信备份老是连接中断 浏览:886
出台多少份文件 浏览:380
鞋子怎么搭配衣服的app 浏览:755
文件名使用的通配符的符号是什么 浏览:916
lol分卷文件损坏怎么办 浏览:276
6分管车螺纹怎么编程 浏览:732
海口农商银行信用卡app是什么 浏览:770
win10任务栏文件夹我的电脑 浏览:14
安卓nba2k18 浏览:776
文件夹密码怎么修改密码 浏览:271
苹果数据中心用什么服务器 浏览:769
省内圆通快递寄文件夹需要多少钱 浏览:740
iphone程序加密 浏览:884
win10文件夹调整文件行高 浏览:681
创意手绘教程 浏览:754
微信删除帐号信息 浏览:596
mysql操作类文件 浏览:649
绕过xp密码 浏览:158
大众速腾专用app有哪些 浏览:455

友情链接