在ACM竞赛中,常常需要将读入的数字的每位分离出来,如果采用取余的方法,花
费的时间就会太长,这时候,我们可以将读入的数据当成字符串来处理,这样就方便、省
时多了。下面这个程序演示了求一个整数各位的和:

#include <string>
#include <iostream>
using namespace std;
int main(){
string s = "";
int sum = ;
for(int i = ;i<s.length();i++){
switch(s[i]){
case '':sum+=;break;
case '':sum+=;break;
case '':sum+=;break;
case '':sum+=;break;
case '':sum+=;break;
case '':sum+=;break;
case '':sum+=;break;
case '':sum+=;break;
case '':sum+=;break;
case '':sum+=;break;
}
}
cout << sum;
}

sscanf函数很管用,它可以把一个字符串按你需要的方式分离出子串,
甚至是数字。下面这个程序演示了sscanf函数的具体用法:

#include <iostream>
#include <string>
using namespace std;
int main(){
char a[],b[],c[];
sscanf("122 3ss 3ww","%s %s %s",a,b,c);
string s = a;
cout << s <<endl;
int p,l,k;
sscanf("122 $122$333","%d $%d$%d",&p,&l,&k);
cout << p <<endl;
cout << l <<endl; }

有时候,string 对象与数值之间需要相互转换,下面这个例子详细说明了如何完成这
项工作:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
//C++方法:将数值转换为string
string convertToString(double x)
{
ostringstream o;
if (o << x)
return o.str();
return "conversion error";//if error
}
//C++方法:将string转换为数值
double convertFromString(const string &s)
{
istringstream i(s);
double x;
if (i >> x)
return x;
return 0.0;//if error
}
int main(int argc, char* argv[])
{
//将数值转换为string的第一种方法:C方法
char b[];
string a;
sprintf(b,"%d",);
a=b;
cout<<a<<endl;
//将数值转换为string的第二种方法:C++方法
string cc=convertToString();
cout<<cc<<endl;
//将string转换为数值的方法:C++方法
string dd="";
int p=convertFromString(dd)+;
cout<<p<<endl;
return ;
}

ACM--string常见用法的更多相关文章

  1. STL string 常见用法详解

    string 常见用法详解 1. string 的定义 //定义string的方式跟基本数据类型相同,只需要在string后跟上变量名即可 string str; //如果要初始化,可以直接给stri ...

  2. C++的string类常见用法

    C++的string常见用法,在网上看到一篇,但是不能在c++11编译器下运行,我修改了下,还没改完: #include<iostream> #include<string> ...

  3. String和StringBuffer的常见用法

    链接:https://www.nowcoder.com/questionTerminal/fe6b651b66ae47d7acce78ffdd9a96c7?answerType=1&f=dis ...

  4. Linux中find常见用法

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

  5. php中的curl使用入门教程和常见用法实例

    摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...

  6. Guava中Predicate的常见用法

    Guava中Predicate的常见用法 1.  Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...

  7. find常见用法

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

  8. String.format()用法

    package junit.test;   import java.util.Date; import java.util.Locale;   import org.junit.Test;   pub ...

  9. NSString常见用法总结

    //====================NSStirng 的常见用法==================== -(void)testString { //创建格式化字符串:占位符(由一个%加一个字 ...

  10. [转]Linux中find常见用法示例

    Linux中find常见用法示例[转]·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;find命令的参 ...

随机推荐

  1. C/C++中volatile关键字详解

    1. 为什么用volatile? C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier.这是 BS 在 "The ...

  2. 牛客网华为机试题之Python解法

    牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = ...

  3. ie的用户名密码输入框右侧提示去掉

    ::-ms-clear,::-ms-reveal{display:none;} //用户名 密码

  4. peewee基本使用

    PEEWEE基本使用 Content Ⅰ  安装Ⅱ  链接数据库Ⅲ  建表 Ⅳ  增删改 Ⅴ  基础查询 Ⅵ  ForeignKey Ⅷ  事务 参考官方文档:http://docs.peewee-o ...

  5. 如何让 Git 使用 HTTP 代理服务器

    因为我们的内部网络使用了代理,所以在 安装 OpenStack 基于 Web 的管理控制台 的时候有个小麻烦,我们的 http 代理服务器无法通过 git 协议下载 openstack-dashboa ...

  6. 老罗最新发布了“子弹短信”这款IM,主打熟人社交能否对标微信?

    1.引言 2018年8月20日,锤子科技在北京召开了夏季新品发布会.除了新手机,发布会上还正式推出了主打语音功能的即时通讯IM聊天工具:子弹短信.这款工具此前今年早些时候在「鸟巢」发布会上初次亮相,在 ...

  7. 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer

    一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...

  8. 每天学点SpringCloud(十四):Zipkin使用SpringCloud Stream以及Elasticsearch

    在前面的文章中,我们已经成功的使用Zipkin收集了项目的调用链日志.但是呢,由于我们收集链路信息时采用的是http请求方式收集的,而且链路信息没有进行保存,ZipkinServer一旦重启后就会所有 ...

  9. Java核心技术卷一基础知识-第3章-Java的基本程序设计结构-读书笔记

    第3章 Java的基本程序设计结构 本章内容: 一个简单的Java应用程序 字符串 注释 输入输出 数据类型 控制流 变量 大数值 运算符 数组 本章主要讲述程序设计相关的基本概念(如数据类型.分支以 ...

  10. 解决微信小程序使用wxcharts在屏幕不固定问题-开发工具里也显示好了布局,为啥到真机就是乱的

    解决微信小程序使用wxcharts在屏幕不固定问题-开发工具里也显示好了布局,为啥到真机就是乱的 .chart{ width: 100%; text-align: center; } .canvas{ ...