采用C编写程序实现从文件读取操作

本文通过一个C语言程序示例介绍了如何从文件中读取数据并进行基本的数学运算,然后将结果写入另一个文件。具体步骤包括:创建并写入文件,读取文件内容,计算数值的平方并将结果保存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

采用C编写程序实现从文件读取操作

#include <stdio.h>  
#include<math.h>
#include <stdlib.h>
int main()  
{  
    //下面是写数据,将键盘输入数字写入到InputeData.txt文件中  
    FILE *fpWrite1=fopen("InputData.txt","w");  
    if(fpWrite1==NULL)  
    {  
        return 0;  
    }
	int b;//定义整型变量b/可定义数组写入多个数
	printf("please input:");//打印输入提示
	scanf("%d",&b);//从键盘输入数字赋值给b
	printf("write %d into the file'InputData.txt'\n",b);//将b的值写入InputeData.text文件提示
     printf("\n");
	fprintf(fpWrite1,"%d\n",b);//将b的值写入InputeData.text文件 ,在此换行方便fget函数对文件读取 
    fclose(fpWrite1);  
    //下面是读数据,将读到的数据赋值给变量,并且打印到控制台上  
    FILE *fpRead1=fopen("InputData.txt","r");  
	char a[10];//可在次嵌套循环读取多行中的多个数进行运算
    if(fpRead1!=NULL)  
    {  	
       // fscanf(fpRead,"%d ",&a); //语句一次读取只一个字符 ,需要用数组存储
        while(fgets(a,10,fpRead1)!=NULL)
	   {
         printf("read %s out of the file'InputData.txt'",a);
		  printf("\n");
	   }
      fclose( fpRead1 );
}
//下面是计算这个数的平方,将结果写入到OutputeData.txt文件中
int x=atoi(a);//将字符型输出转化为数值型
double y=x*x;//此时只需定义整型此处定义了双精度查看结果
FILE *fpWrite2=fopen("OutputData.txt","w");  
    if(fpWrite2==NULL)  
    {  
        return 0;  
    }
	printf("write %f into the file'OutputData.txt'",y);//将b的值写入InputeData.text文件提示
	 printf("\n");
    fprintf(fpWrite2,"%f\n",y);//将b的值写入OutputeData.text文件 ,在此换行方便fget函数对文件读取 
    fclose(fpWrite2);  
    //下面是读数据,将读到的数据赋值给变量,并且打印到控制台上  
    FILE *fpRead2=fopen("OutputData.txt","r");  
	char c[10];//可在次嵌套循环读取多行中的多个数进行运算
    if(fpRead2!=NULL)  
    {  	
       // fscanf(fpRead,"%d ",&c); //语句一次读取只一个字符 ,需要用数组存储
        while(fgets(c,10,fpRead2)!=NULL)
	   {
         printf("read %s out of the file'OutputData.txt'",c);
		 printf("\n");
	   }
      fclose( fpRead2 );
}
}  

fgets()读取机制以行为单位进行读取,读入的字节放入大小为n的缓冲区。若一行中包括最后一个换行符的字符数大于n-1个;则fgets值返回不完整的行,对fgets的下次调用会继续读该行。缓冲区总是以NULL字节结尾。
在这里插入图片描述
在这里插入图片描述
文件读取时出现了空格而打开记事本并没有。
打开两文本文件:
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值