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

编程读取该文件内容

发布时间: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;

}

阅读全文

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

热点内容
瑞安小企业网站制作多少钱 浏览:50
xp系统桌面文件夹转移d盘 浏览:569
易语言创建文本文件 浏览:801
xml文件修改后出错 浏览:617
安卓模拟器抓包数据相同 浏览:735
编程哪个语言入门快 浏览:936
手机没下载完的app在哪里 浏览:705
千万用户app如何盈利 浏览:710
百年孤独哪个版本最好 浏览:4
keil简单程序 浏览:303
ezmanager密码 浏览:782
什么是uk数据 浏览:630
精雕编程学用什么软件 浏览:528
数控编程数学应该是什么水平 浏览:862
杭州卖厂房去什么网站 浏览:292
cpm1h用什么编程软件 浏览:419
js文件不起作用 浏览:716
word怎么插入绘图画布 浏览:279
读取sql文件 浏览:512
pdfjs打印不全 浏览:392

友情链接