您的位置:首页 > 编程语言

编程杂项

2014-04-22 14:26 309 查看
数字改字符串的形式:

string itos(int arg)
{
ostringstream buffer;
buffer << arg;
return buffer.str();
}


字符串改数字的形式:

int atoi(const char * nptr)

但是这种方法如果第一个字符是非空格,或者不是数字,则返回0,知道检测到非数字字符停止转换。

#include <string>
#include <sstream>
#include <algorithm>
#include <vector>

using namespace std;

int main()
{
char c[] = "a123";
//输出:0
cout << atoi(c) << endl;
char d[] = "123a";
//输出:123
cout << atoi(d) << endl;

return 0;
}
但是这种方法不能处理这个字符串本来就是“0”的问题。所以可以用下面的函数进行字符串改字符的形式:

int judeg(const string &str)
{
int val;
stringstream ss;
ss << str;
ss >> val;
if(ss.fail())
return -1;

return val;
}


C++11新标准引入了多个函数,实现数值数据与标准库string之间的转换。

数字改字符的形式:

'c' + '0',如3 + '0' = '3'

字符改数字的形式:

'c' - '0',如'3' - '0' = 3

定点输出小数点后一位:

cout.setf(ios::fixed);
cout.precision(1);


getline()是不忽略行开头的换行符,忽略行尾的换行符。所以如果前面有cin,后面再使用getline函数,则在使用之前调用cin.ignore()函数。

类成员变量中若有字符数组,在进行初始化的时候用strcpy()函数即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: