将string当字节流使
string是C++标准定义的字符串类,它不但支持文本,而且支持二进制字节流。给一个string变量赋值有多种方法:
1) 拷贝构造函数
2) 等号赋值函数
3) append成员函数
4) push_back成员函数
5) insert成员函数
请运行下段代码,并查看它的输出:
|
#include <stdlib.h> #include <stdio.h> #include <string> int main() { using namespace std; char s[10] = {0}; memset(s, 'a', 5); string str1 = s; string str2; str2 = s; string str3; str3.assign(s, 10); string str4; str4.assign(str3.data(), str3.size()); string str5 = str4;; string str6; str6 = str4; printf("%u:%s\n", str1.size(), str1.c_str()); printf("%u:%s\n", str2.size(), str2.c_str()); printf("%u:%s\n", str3.size(), str3.c_str()); printf("%u:%s\n", str4.size(), str4.c_str()); printf("%u:%s\n", str5.size(), str5.c_str()); return 0; } |
运行后输出为:
|
> ./x 5:aaaaa 5:aaaaa 10:aaaaa 10:aaaaa 10:aaaaa |
将string当字节流使的更多相关文章
- 将std::string当字节流使
string是C++标准定义的字符串类,它不但支持文本,而且支持二进制字节流.给一个string变量赋值有多种方法: 1) 拷贝构造函数 2) 等号赋值函数 3) append成员函数 4) push ...
- string和c_str()使用时的坑
先看一段代码和它的运行结果: 看到结果了么这个运行的结果和我们理解的是不会有差距.对于经验丰富的开发者可能会微微一笑,但是对于一个刚刚学习的人就开始疑惑了.这里主要说两个问题: 1.声明了一个stri ...
- Java学习笔记 02 String类、StringBuilder类、字符串格式化和正则表达式
一.String类一般字符串 声明字符串 >>String str 创建字符串 >>String(char a[])方法用于将一个字符数组创建为String对象 >> ...
- Windows Phone中扩展WebBrowser使其支持绑定html内容
在WP开发中,有时候会用到WebBrowser控件来展示一些html内容,这个控件有很多局限性,比如不支持绑定内容,这样的MVVM模式中就无法进行内容的绑定.为了实现这个目的,需要扩展一下,具体代码如 ...
- java之String
一.构造器 package com.string; import java.io.UnsupportedEncodingException; import java.nio.charset.Chars ...
- string引用类型解惑
先上代码: string b = "123"; private void Form1_Load(object sender, EventArgs e) { Test(b); Mes ...
- String是引用类型
关于String为值类型还是引用类型的讨论一直没有平息,最近一直在研究性能方面的问题,今天再次将此问题进行一次明确.希望能给大家带来点帮助. 如果有错误请指出. 来看下面例子: //值类型 ; int ...
- String解析
常量池(Constant Pool):指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据.JVM虚拟机为每个被装载的类型维护一个常量池.常量池就是该类型所用到常量的一个有序集和,包括 ...
- .net中String是引用类型还是值类型 以及 C#深层拷贝浅层拷贝
http://www.cnblogs.com/yank/archive/2011/10/24/2204145.html http://www.cnblogs.com/zwq194/archive/20 ...
随机推荐
- Linux系统源码安装过程中的prefix选项
在linux和unix环境中,源码安装是最常用的软件安装方式,一些软件除了提供源码外,也提供各种发行版的二进制安装包(如基于redhat包管理工具的rpm包),但强烈建议使用源码安装方式.原因是:(1 ...
- 两个textarea 同时变化高度
<html><head><script type="text/javascript" src="/jquery/jquery.js" ...
- imx:MfgTool
MfgTool使用方法: MfgTool很妖,写进去的img的名字一定要符合配置文件里面的命名标准. 具体要参见: MFG_TOOL\Profiles\Linux\OS Firmware ...
- 关于两次指针(struct型)传参数的问题
这两天被struct传参给郁闷死了.今天终于解决了. 比如有一个struct如下: struct _ns1__Add_USCORESensorDataArray{ struct xsd__base64 ...
- Lucence.net索引技术 一
1.建立索引 为了对文档进行索引,Lucene 提供了五个基础的类,他们分别是 Document, Field, IndexWriter, Analyzer, Directory.下面我们分别介绍一下 ...
- FPGA知识大梳理(四)FPGA中的复位系统大汇总
本文整合特权(吴厚航)和coyoo(王敏志)两位大神的博文.我也很推崇这两位大神的书籍,特权的书籍要偏基础一下,大家不要一听我这么说就想买coyoo的.我还是那一句话,做技术就要step by ste ...
- sqlite详细介绍
------------------------------------------------------------------------------SQLite简介-------------- ...
- Java使用freemarker导出word和excel
www.linxiaosheng.com/post/2013-12-05/40060346181 https://github.com/upyun/java-sdk
- Delphi的MDI编程中遇到的一个奇怪问题(值得研究的一个问题)
近日在用delphi写一个多文档应用程序,除了一个主界面是自动生成的,其他功能页面全部都是通过Application.CreateForm()动态生成的,也就是说在ProjectManager中点击程 ...
- hdoj 3555 Bomb(DFA+dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 思路分析:该问题要求求解1—N中的数中含有49的数的个数,可以使用DFA来递推dp公式:详细解释 ...