在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. 图解HTTP系列

    第一章 第二章 第三章 第四章 第五章 第六章 第七章 第九章 第十章

  2. 20155312 张竞予 Exp 8 Web基础

    Exp 8 Web基础 目录 基础问题回答 (1)什么是表单 (2)浏览器可以解析运行什么语言. (3)WebServer支持哪些动态语言 实践过程记录 1.Web前端:HTML 2.Web前端jav ...

  3. 团队-爬取豆瓣Top250电影-团队-阶段互评

    团队名称:咣咣踹电脑学号:2015035107217姓名:耿文浩 得分10 原因:组长带领的好,任务分配的好,积极帮助组员解决问题学号:2015035107213姓名:周鑫 得分8 原因:勇于分担,积 ...

  4. JMeter接口压测——ServerAgent监控服务端性能指标

    ServerAgent作为一个服务端性能监控插件,结合JMeter自身插件PerfMon可以实现JMeter压测的图形化实时监控,具有良好的实用性.下面讲解一个应用实例 思路: 1. 插件准备 2.打 ...

  5. gulp使用详解

    前面整理了 gulp使用入门,本节介绍相关的压缩 1.压缩js文件 步骤同基础步骤,相关可以看入门篇 npm install gulp-uglify --save-dev 引入js压缩库 gulpfi ...

  6. self_vs_default_definee_vs_receiver

    最近在学习ruby的过程遇到很多有趣的博客,随记录学习,这篇学习笔记摘自http://yugui.jp/articles/846 #self ruby中self无处不在,或是显示的调用或是隐含调用,方 ...

  7. 小白Monkey学习笔记

    Monkey是google提供的一款对Android app进行压力测试工具,基于随机坐标位置,进行点击.滑动.输入等操作. Monkey的环境配置 pc电脑需要配置adb环境 Monkey程序由An ...

  8. ajax提交数组至后台,无法获取值得问题

    $(".delAll_btn").click(function(){ var checkStatus = table.checkStatus('userList'), data = ...

  9. 03 of learning python

    01 input输入的是str类型 如果输入的是数字的话,要记得强制转换一下! 02 isdigit() 这个方法是用来检测字符串是否全部由数字组成 str.isdigit() 如果字符串只包含数字则 ...

  10. #227 Generate Random Whole Numbers within a Range

    我们之前生成的随机数是在0到某个数之间,现在我们要生成的随机数是在两个指定的数之间. 我们需要定义一个最小值和一个最大值. 下面是我们将要使用的方法,仔细看看并尝试理解这行代码到底在干嘛: Math. ...