当前位置: 代码迷 >> C++ >> 关于将文件数据导入数组的有关问题
  详细解决方案

关于将文件数据导入数组的有关问题

热度:3435   发布时间:2013-02-26 00:00:00.0
关于将文件数据导入数组的问题
各位老师好,请我看下面代码的困惑:
首先这是我声明的变量:
	int id;		//雷达id
int rawAngle[2][MAX] = {'\0'}; //id1背景雷达数据
int rawLength[2][MAX] = {'\0'};
int rawAContrast[2][3][MAX] = {'\0'}; //加入参照物后的雷达数据1
int rawLContrast[2][3][MAX] = {'\0'};
int rawTempA[2][3][MAX] = {'\0'}; //暂存参照物rawTempOne[id][file][length]
int rawTempL[2][3][MAX] = {'\0'}; //暂存参照物rawTempOne[id][file][length]
float coorX[2][3][MAX] = {'\0'}; //当前id参照物坐标集coorOne x  coorOne y 
float coorY[2][3][MAX] = {'\0'};
float x[2][3] = {'\0'}; //x[id][file]
float y[2][3] = {'\0'}; //..


然后我想将如下格式的数据读到变量中:
1-1.txt:
0:2047
1:2047
2:2047
3:2047
4:2047
5:2047
6:2047
7:234
9:2000
10:20
...
(:前面代表0.5个角度,:后面代表长度cm)

可是我在导入数据的时候遇到了问题:
我如下调用读文件函数:
ReadFile(rawAngle[i], rawLength[i]);

但没检测并没有导入数据。
我的ReadFile是这样的:
#include <stdio.h>

#include "ReadFile.h"

void ReadFile(int *x,int *y)
{
int i = 0;
char a;
char path[128];

FILE *fp;

while(true)
{
scanf("%s",path);
if((fp = fopen(path,"r")) == NULL)
{
printf("\nERROR! Enter again!\n:");
continue;
}
else
{
break;
}
}

for(; i < 360; i++)
{    
fscanf(fp, "%d%c%d", &x[i],&a,&y[i]); //如何读取数据
printf("\n%d %d", x[i],y[i]);
}

fclose(fp);
}


请问各位老师,我这里有明显的用法错误吗?

------解决方案--------------------------------------------------------
这种问题 你的贴全部代码 一般才知道。
  你自己其实也很好解决的。你觉得哪里有问题你可以自己调试啊 最好的办法当然是单步跟踪调试、、
还有你可以进行取样法。在关键的地方用printf打印出来关键变量啊、并且可以测试你程序的实际逻辑与你想的是否一样、自己调吧、慢慢的速度就快了。反正就是你觉得哪个变量有问题你就多跟踪这个变量
------解决方案--------------------------------------------------------
好久不看C语言的代码了,,,生疏啊
------解决方案--------------------------------------------------------
请检查fscanf的返回值。
http://bbs.csdn.net/topics/360055953
  相关解决方案