C++中字串拼接、十六進位制轉十進位制
阿新 • • 發佈:2018-12-13
txt檔案如下:
檔案說明:檔案中為十六進位制資料。
實現:先進行字串拼接,然後進行十六進位制轉十進位制。
字串拼接程式碼:
//字串拼接
infile>>string1>>string2;
string1=string1+string2;
將讀入字串分別賦值到string1和string2中,然後進行拼接並賦值到string1。
進位制轉換程式碼:
//十六進位制轉十進位制
char* end;
result = static_cast<int>(strtol(string1.c_str(),&end,16));
以上程式碼實現了十六進位制字串轉換為十進位制資料。
全部程式碼實現如下:
#include <fstream> #include <stdio.h> #include <iostream> #include <cstdlib> #include <string> using namespace std; int main() { string string1,string2; int result,num=0; ifstream infile("data.txt",ios::in); // ofstream outfile("f1.txt",ios::out); if(!infile) { cout<<"open error!"<<endl; exit(1); } for(int i=0;i<15;i++) { //字串拼接 infile>>string1>>string2; string1=string1+string2; //十六進位制轉十進位制 char* end; result = static_cast<int>(strtol(string1.c_str(),&end,16)); cout<<result<<" "; } cout<<endl; infile.close(); return 0; }
實現結果如下: