This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好!
在整数值正常工作时、我无法使用从文本文件中读取的浮点数进行 printf。
我的原始工作是将浮动值读取 到数组中。 我编写的代码如下所示
#include
int main (空)
{
float c;//存储从文件读取的字符
int i、ff、ecgArray[1200];
文件*fp;
fp = fopen ("E:\\processor\\ecgData.txt"、"r");
字符缓冲[255];
浮点 j;
for (i=0;i<10;i++)
{
fgets (buff、255、(file*) fp);
printf ("%d:"、i+1);
printf ("%d:%s\n"、i+1、buff);
sscanf (buff、"%f"、&j);
FF = j*1000;
// ecgArray[i]=ff;
//ecgArray[i]= ecgArray[i]/1000;
printf (" j val=%d\n"、ff);
}
fclose (FP);
返回0;
}
我尝试将堆大小和堆栈大小更改为0x400。 我不熟悉使用 CCStudio。 请发送电子邮件至 help.e2e.ti.com/.../ecgData.txt
您好 Ki、
控制台显示的值高达4。 但该环路最多为10。
有时、它显示多达6个值。 它从未显示10个值。
我的实际情况是采用高达1200个值。
好的、我使用的是缩放版本的输入以避免浮点误差。
[引用 USER="Gopika P"]是的,当我执行 Step Over 操作时,我得到的值一直到十。如果调试未完成,则控制台不会打印满。
无论我是单步执行还是仅运行、我都会得到全部10个值。 您发送给我的代码示例是您测试的整个代码吗? 还是只是一个片段/示例? 您能否提供可执行文件?
谢谢
Ki
您好 Ki、
#include
int main (空)
{
float c、ecgArray[1200];//存储从文件读取的字符
int i、ff;
文件*fp;
fp = fopen ("E:\\processor\\ecgData.txt"、"r");
字符缓冲[255];
浮点 j;
for (i=0;i<10;i++)
{
fgets (buff、255、(file*) fp);
printf ("%d:"、i+1);
printf ("%d:%s\n"、i+1、buff);
sscanf (buff、"%f"、&j);
FF = j*1000;
ecgArray[i]=j;
printf (" j val=%f\n",ecgArray[i]);
}
fclose (FP);
返回0;
}
解决了问题。 将所有变量更改为全局变量。