C++获取字符串中指定数字相加,字符串和int相互转化

12. September 2016 笔记 0

#include<iostream>
#include<string>
#include<stdio.h>
#include <stdlib.h>
using namespace std;
int main(){
int add1(char a[],char d1);
char aa[10]=””;
char b[10]=””;
char c,d;
cin>>aa>>c>>b>>d;
cout<<add1(aa,c)+add1(b,d);
return 0;
}
int add1(char a[],char d1){
string s=a;
int j=0;
string flag=””;
for(j=0;j<s.length();j++){
if(a[j]==d1){
flag+=a[j];
}
}
return atoi(flag.c_str()); //把字符串转换成整形
}

C标准库了提供了 atoi, atof, atol, atoll(C++11标准) 函数将字符串转换成int,double, long, long  long 型,头文件#include <stdlib.h>。

char    str[] = “15.455”;

double     db;

int     i;

db = atof(str);   // db = 15.455

i = atoi(str);    // i = 15

若字符串为string类型,则要用c_str()方法获取其字符串指针,如下:

string    str = “15.455”;

double     db;

int     i;

db = atof(str.c_str());   // db = 15.455

i = atoi(str.c_str());    // i = 15


Leave a Reply

Your email address will not be published. Required fields are marked *