Tôi có mã mẫu này (không chính xác) để nhận giá trị ngoài chuỗi và lưu trữ nó trong một biến có kích thước byte (nó cần phải nằm trong một var đơn, không phải là int) :Lấy giá trị byte bằng cách sử dụng chuỗi
#include <iostream>
#include <sstream>
using namespace std;
int main(int argc, char** argv)
{
stringstream ss("1");
unsigned char c;
ss >> c;
cout << (int) c << endl;
}
Kết quả khi tôi chạy điều này là 49, không phải là điều tôi muốn thấy. Rõ ràng, điều này đang được coi là một giá trị số char và không đơn giản. C++ ish cách nào nhất để có được c để giữ 1 chứ không phải là một 49 khi đúc vào một int?
Cảm ơn!
Thử chuỗi: "\ 01". Hoặc thiết lập một mảng char và khởi tạo với {1, 0} –