sinat_26873755 2015-03-31 16:19 采纳率: 0%
浏览 3962

关于C语言按行读取文件,读取其中数字,挨个转换成doube类型,存入数组

int main()
{
FILE *fp;
char buffer[50];
char filename[50];
int bufferLen;
int i;
int j = 0;
char c;
double c_number[50];

printf("Input file name: ");
scanf("%s", filename);

if((fp = fopen(filename, "rb")) == NULL)
{
    return -1;
}
while(fgets(buffer, 50, fp))
{
    for(i = 0; i < 50; i++)
    {
    c = buffer[i];
    if(c != ' ' && c != '\n' && c != '\r') //这里过滤,读取数字,文件有符号,空格什么的
    {
        c_number[j] = (double)atof(c); //这里想挨个转换double没有成功

        //sscanf(c, "%lf", c_number[j]);
        j++;
    }
    }
}
fclose(fp);
  • 写回答

6条回答

  • threenewbee 2015-04-01 01:32
    关注

    调试下,目测atof(c),而c是单个字符,这是不行的。最好用split函数切割成字符串,字符串才能解析为浮点数

    评论

报告相同问题?

悬赏问题

  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn