首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • data(),size(),binary的用意或其功能???? [已结贴,结贴人:Linli522362242]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Linli522362242
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-18 16:33:31 楼主
    void ClientData::setLastName( string lastNameString )
    {
      const char *lastNameValue = lastNameString.data();////////////////
      int length = lastNameString.size();////////////////
      length = ( length < 15 ? length : 14 );
      strncpy( lastName, lastNameValue, length );
      lastName[ length ] = '\0';
    }

    fstream outCredit( "credit.dat", ios::in | ios::out | ios::binary );//////////
    //
    谁能解释一下.data()  .size()  binary 的用意,或者解释其功能
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Linli522362242
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-18 16:37:551楼 得分:0
    data()  .size()这两个函数的定义,binary是什么
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • biosli
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-18 16:52:442楼 得分:10
    你可以查查STL的手册。有本书来着:《C++标准程序库—自修教程与参考手册》。
    就你问题来说string::data()是指得到一个char的数组。string::size()表示这个数组的大小。
    ios::binary是标志位,表示不要替换特殊字符。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • k2eats
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-18 16:54:133楼 得分:6
    data()的函数原型是:
        const char* data() const;
    返回和string内容相同 的字符串指针
    例子:
    C/C++ code
    #include <iostream> #include <string> using namespace std; int main () { int length; string str = "Test string"; char* cstr = "Test string"; if ( str.length() == strlen (cstr) ) { cout << "str and cstr have the same length.\n"; length = str.length(); if ( memcmp (cstr, str.data(), length ) == 0 ) cout << "str and cstr have the same content.\n"; } return 0; } Output: str and cstr have the same length.str and cstr have the same content.


    size()返回string的字符长度如string str ("1");的size()返回1

    ios::binary  以二进制方式处理文件流
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • biosli
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-18 16:57:004楼 得分:3
    ios::binary是标志位,表示不要替换特殊字符。
    主要指不要替换"\r\n"什么的字符。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guzhilei1986
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-18 19:34:105楼 得分:1
    引用 2 楼 biosli 的回复:
    你可以查查STL的手册。有本书来着:《C++标准程序库—自修教程与参考手册》。
    就你问题来说string::data()是指得到一个char的数组。string::size()表示这个数组的大小。
    ios::binary是标志位,表示不要替换特殊字符。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Linli522362242
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-25 17:14:596楼 得分:0
    这《C++标准程序库—自修教程与参考手册》哪里有完整版的啊,难到只能市校图书馆骂,有完整版下载的说一下地址啊
    修改 删除 举报 引用 回复

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