首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • C++问题 请教 [已结帖,结帖人:wangxic]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangxic
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-08 18:12:25 楼主
    ifstream infile("ZBD.001");

    请问在C++中有没可调用的函数实现把文件名中的数字“001”得到数字001或1赋值给double类型变量
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jieao111
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 18:19:101楼 得分:10
    001是扩展名?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangxic
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 18:24:492楼 得分:0
    恩 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xkyx_cn
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

    发表于:2008-08-08 18:32:403楼 得分:10
    这个文件名如何得到的,格式是固定的吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangxic
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 18:35:214楼 得分:0
    固定的  是通过仪器读来的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangxic
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 18:48:565楼 得分:0
    是这样的  我要处理这样的很多的文件名 
    只是后面的扩展名不一样  都是数字
    我想要把文件名后面的这些数字也就是这些数字扩展名提出来处理
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhkefa
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 18:54:306楼 得分:10
    引用 4 楼 wangxic 的回复:
    固定的  是通过仪器读来的


    这样得来应该存在char数组或string变量里的吧?

    如果是就较好弄,,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • iu_81
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 18:57:277楼 得分:10
    substr
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangxic
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 19:02:498楼 得分:0
    引用 6 楼 zhkefa 的回复:
    引用 4 楼 wangxic 的回复:
    固定的  是通过仪器读来的


    这样得来应该存在char数组或string变量里的吧?

    如果是就较好弄,,



    你的意思是把文件名都放在一个数组里面  那要调用文件  要读文件又怎么弄呢
    能不能写两个简单的代码  谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • IanFang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 19:04:399楼 得分:10
    C/C++ code
    #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { const char *str = "ZBD.001"; const char *p_dot = strstr(str, "."); if(!p_dot) { printf("Invalid name!\n"); return -1; } double digit = atof(++p_dot); printf("%f", digit); return 0; }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangxic
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 19:07:4610楼 得分:0
    引用 9 楼 IanFang 的回复:
    C/C++ code
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>


    int main()
    {
        const char *str = "ZBD.001";
        const char *p_dot = strstr(str, ".");
        if(!p_dot)
        {
            printf("Invalid name!\n");
            return -1;
        }
       
        double digit = atof(++p_dot);
        printf("%f", digit);
        return 0;
    }

    那怎么调用zbd.001文件呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangdeqie
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

    发表于:2008-08-08 19:08:4511楼 得分:10
    C/C++ code
    //可以这么写 #include<string> #include<iostream> using namespace std; void main() { char *str="ZBD.001"; char* p=strchr(str,'.'); cout<<p<<endl; }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangdeqie
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

    发表于:2008-08-08 19:10:3312楼 得分:10
    C/C++ code
    //看这个吧,这个去掉'.' #include<string> #include<iostream> using namespace std; void main() { char *str="ZBD.001"; char* p=strchr(str,'.'); cout<<(p+1)<<endl; }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangxic
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 19:11:2213楼 得分:0
    不是这个意思  zbd.001已经是个文件名咯  不是这样简单的定义
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangdeqie
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

    发表于:2008-08-08 19:12:0214楼 得分:10
    C/C++ code
    //这个直接对str本身操作 #include<string> #include<iostream> using namespace std; void main() { char *str="ZBD.001"; str=strchr(str,'.'); cout<<(str+1)<<endl; }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangdeqie
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

    发表于:2008-08-08 19:30:3215楼 得分:10
    引用 13 楼 wangxic 的回复:
    不是这个意思  zbd.001已经是个文件名咯  不是这样简单的定义

    我知道zbd.001已经是个文件名,但它是一个字符串吧,把它先赋给一个char指针,再转成double
    C/C++ code
    #include<string> #include<iostream> using namespace std; void main() { char *str="ZBD.001"; str=strchr(str,'.'); int name=atoi(str+1); cout<<name<<endl; }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangxic
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 19:41:5916楼 得分:0
    可我就是不知道怎么把文件名赋值给字符串啊
    比如我定义咯 ifstream("ZBD.001");
    可我不知道怎么把ZBD.001赋值给字符串  请教  谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangdeqie
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

    发表于:2008-08-08 22:02:2017楼 得分:10
    引用 16 楼 wangxic 的回复:
    可我就是不知道怎么把文件名赋值给字符串啊
    比如我定义咯 ifstream("ZBD.001");
    可我不知道怎么把ZBD.001赋值给字符串  请教  谢谢

    "ZBD.001"这本身就是一个字符串,直接像我15楼贴的那样做啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • evcrtfdgr
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-09 08:56:5018楼 得分:0
    该回复于2008-08-19 09:19:20被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ttkk_2007
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-09 10:12:1219楼 得分:0
    string str = "ZBD.001";
    先通过substr方法找到"001"子字符串,然后atof转换为double型变量
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hmsuccess
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 10:39:5820楼 得分:0
    引用 19 楼 ttkk_2007 的回复:
    string str = "ZBD.001";
    先通过substr方法找到"001"子字符串,然后atof转换为double型变量
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • godspeed251
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 11:00:2621楼 得分:0
    str=strchr(str,'.');
    如上,strchr(str,'.')
    str是存值对象,'.'是分隔符;
    上面的说法对吗??
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xianyuxiaoqiang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 17:37:4322楼 得分:0
    把这个改下:
    ifstream("ZBD.001");
    -->
    char *ifstr="ZBD.001";
    ifstream("ifstr");
    这样文件名字符串就可以使用了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wuxiao971
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 22:53:5523楼 得分:0
    strchr
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved