首先推荐用用C++的stringstream。
主要原因是操作简单。
0x00 字符串转数字
// zcj_14.cpp : //该程序是一个注册机,原理是对输入的字符每个与2求异或的结果取低位即为注册机。 //先输入一个字符数组在转化的int数组再逐个与2求异或后保存 #include "pch.h" #include <iostream> #include <string.h> #include<sstream> #include <vector> using namespace std; using std::string; //使用string对象 using std::vector; //使用vector int main() { int nums[9]; std::cout << "请输入9位字符 "; char chars[9]; //接收一个字符串,遇到空格,TAB,回车都结束。 cin >> chars; for (int i = 0; i < 9; i++) { stringstream ss; ss << chars[i]; ss >> nums[i]; } std::cout << "注册码是:"; for (int i = 0; i < 9; i++) { nums[i] = nums[i] xor 2; nums[i] = nums[i] % 10; std::cout << nums[i]; } }
0x01 字符串转数字
int main(){ string a = "123.32"; double res; stringstream ss; ss << a; ss >> res; return 0; }