Sử dụng luồng C++.
std::string plop("123");
std::stringstream str(plop);
int x;
str >> x;
/* Lets not forget to error checking */
if (!str)
{
// The conversion failed.
// Need to do something here.
// Maybe throw an exception
}
PS. Nguyên tắc cơ bản này là cách thư viện tăng cường lexical_cast<>
hoạt động.
phương pháp ưa thích của tôi là thúc đẩy lexical_cast<>
#include <boost/lexical_cast.hpp>
int x = boost::lexical_cast<int>("123");
Nó cung cấp một phương pháp để chuyển đổi giữa một chuỗi và định dạng số và ngược lại. Bên dưới nó sử dụng một chuỗi chuỗi để bất cứ thứ gì có thể được sắp xếp thành một luồng và sau đó un-marshaled từ một dòng (Hãy xem các toán tử >> và < <).
Nguồn
2008-10-14 05:37:08
Làm thế nào về một số ví dụ sau đây: http://www.codeproject.com/KB/recipes/Tokenizer.aspx Chúng rất hiệu quả và phần nào thanh lịch. –