Visual Studio 2015编写C语言,实现读txt文件数据并进行简单处理

  1. 编写环境Visual Studio 2015;
  2. 本人是学工科的,有些时候需要将下位机的数据读取处理,但是通过单片机处理的便携性不如用c直接快捷,而且有时候没法验证算法的准确性,但是读取数据这块遇到了问题,下面给大家分享一下。本人也是菜鸟,希望大家多多指正!!!
  3. 刚接触VS,对于编写c代码没有经验,最近需要读取一个文本测试的数据,并进行处理,想通过VS实现,但是晚上找了一大堆方法,VS老会显示fscanf不安全,让替换成fscanf_s,测试了一天不行,后来自己通过参考别人的代码,没有用fscanf等函数,实现了文件数据的读取。
  4. 注意:通过VS编写前,新建工程要把SDL关掉。
  5. 代码部分
    (1)头文件引用,因为我这里自定义了函数文件,所以里面有#include “readdata.h”,也可以直接将函数放到主函数文件中**
#include <stdio.h>
#include <stdlib.h>
#include "readdata.h"

(2)定义的头文件内容

#ifndef _READDATA_H_
#define _READDATA_H_
#define MAX_LINE 1024 //代表一个字符串的长度,基本够用
void Read_data(float data[], int *len);
void Sumdata(float data[], int len, float *sum);
#endif

(3)下面来看两个函数
读取txt文本数据函数

void Read_data(float data[], int *len) //读取txt文本数据
{
	char buf[MAX_LINE];  /*缓冲区*/
	int i = 0;             /*行字符个数*/

	FILE *fp; //定义文件指针
	fp = fopen("e:\\1.txt", "r"); //打开文件
	if (fp == NULL)  //判断文件是够打开
	{
		printf("文件未打开\n");
	}
	else
	{
		printf("文件打开\n");
		while (fgets(buf, MAX_LINE, fp) != NULL) //顺序读取文件里面的内容,直到读取完毕
		{
			data[i++] = atof(buf); //将读取的字符串转换成浮点数
			printf("浮点数:%.2f\n", data[i - 1]); //将转换的浮点数打印显示
			if (i >= Len_Data) //读取任意长度数据可以设置Len_Data大小
				break;
		}
		*len = i;
	}
}

对文本数据进行求和处理,这部分是我自己为了测试用,也可自行编写

void Sumdata(float data[],int len,float *sum) //用于验证读取数据的准确性
{
	int i;
	*sum = 0;
	for (i = 0; i < len; i++)
	{
		*sum = *sum + data[i];	  
	}
}

主函数调用部分

#include <stdio.h>
#include <stdlib.h>
#include "readdata.h"
void main(void)
{
	float data[100];
	int len;
	float sum;
	Read_data(data,&len);
	Sumdata(data, len, &sum);
	printf("数据长度为:%d 数据和为:%.2f\n", len,sum);
	system("pause");
}
  1. 测试文件及结果:
    文件内容:
    1.1
    2.1
    2.2
    3.4
    4.5
    5.0
    6.7
    7.9
    8.1
    9.3
    测试结果:
    文件打开
    浮点数:1.10
    浮点数:2.10
    浮点数:2.20
    浮点数:3.40
    浮点数:4.50
    浮点数:5.00
    浮点数:6.70
    浮点数:7.90
    浮点数:8.10
    浮点数:9.30
    数据长度为:10 数据和为:50.30
    请按任意键继续. . .

本文希望对于初学者有帮助,请各位批评指正!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Flash*强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值