吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1076|回复: 9
收起左侧

[求助] 各位老师,如何将下面代码中的char *t 转化成double类型呢?

  [复制链接]
jtwc 发表于 2022-1-29 09:53
各位老师,如何将下面代码中的char *t 转化成double类型呢?谢谢了
#include <stdio.h>
#include <string.h>
int main()
{
    char Result[1024] = {0};
    char *t;
    int j = 1;

    //读取文件
    FILE *fp = fopen("y:\\data.txt", "rb");
    fread(Result, 1024, 1, fp);
    fclose(fp);
     
    //将换行符替换为分割文本的制表符
    for (int i = 0; i < 1024; i++)
    {
        if (Result[i]=='\r' && Result[i+1] == '\n')
        {
            Result[i] = '\t';
            Result[i+1] = '\t';
        }
    }

    t = strtok(Result, "\t");
    while (t)
    {
        t = strtok(NULL, "\t");
        j++;
        if (j==95 && t!=NULL)
        {
            printf("第%d组:%s", j, t);
        }
    }

    getchar();
    return 0;
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

无闻无问 发表于 2022-1-29 11:18
strtod和atof等应该行吧
无闻无问 发表于 2022-1-29 11:19
 楼主| jtwc 发表于 2022-1-29 12:40
无闻无问 发表于 2022-1-29 11:18
strtod和atof等应该行吧

老师,atof不行呢?
double t1 = atof(t);
printf("%.0f\n", t1);
无闻无问 发表于 2022-1-29 14:23
sscanf呢?
 楼主| jtwc 发表于 2022-1-29 14:57

老师,如何写呢?谢谢了
欢都洛兰 发表于 2022-1-29 15:08
不会C语言,类型转换的话,char运算时会转换为int,int可以隐式转换为double,也就是t*1.0结果为double类型,不知道c语言是否可以。
 楼主| jtwc 发表于 2022-1-29 15:10
欢都洛兰 发表于 2022-1-29 15:08
不会C语言,类型转换的话,char运算时会转换为int,int可以隐式转换为double,也就是t*1.0结果为double类型 ...

老师,不行,谢谢了
ryosga 发表于 2022-1-29 18:16
[C++] 纯文本查看 复制代码
#include <iostream>

int main()
{
    const char* s = "1.23";
    double d1 = atof(s);
    double d2 = std::stod(s);
    std::cout << d1 << ' ' << d2 << std::endl;

    return 0;
}
 楼主| jtwc 发表于 2022-1-29 19:36
ryosga 发表于 2022-1-29 18:16
[mw_shl_code=cpp,true]#include

int main()

老师,不能用于上面的案例中,谢谢了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 16:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表