Có cách nào trực tiếp để tính kích thước của chuỗi nội bộ trong chuỗi không?Kích thước của chuỗi
Ở đây, str()
trả lại một bản sao và sau đó nó nhận được kích thước của chuỗi.
std::stringstream oss("String");
oss.str().size();
Có cách nào trực tiếp để tính kích thước của chuỗi nội bộ trong chuỗi không?Kích thước của chuỗi
Ở đây, str()
trả lại một bản sao và sau đó nó nhận được kích thước của chuỗi.
std::stringstream oss("String");
oss.str().size();
std::stringstream oss("String");
oss.seekp(0, ios::end);
stringstream::pos_type offset = oss.tellp();
này là dành cho con trỏ ghi, nhưng kết quả là như nhau cho con trỏ đọc trên Visual C++ v10.
Tất nhiên có là:
std::stringstream oss("Foo");
oss.seekg(0, ios::end);
int size = oss.tellg();
Bây giờ, kích thước sẽ chứa các kích thước (tính theo byte) của chuỗi.
EDIT:
Đây cũng là một ý tưởng tốt để đặt sau đoạn ở trên vì nó đặt con trỏ bên trong lại phần đầu của chuỗi.
oss.seekg(0, ios::beg);
Thú vị. Tôi tự hỏi nếu điều này sẽ luôn luôn hiển thị kết quả tương tự như viết tương đương con trỏ. –
Nếu bạn sử dụng con trỏ viết, bạn vẫn cần phải tìm cách kết thúc? Nó sẽ không luôn luôn ở cuối? – Ferruccio
Gcc 4.4 dường như không thích điều này, nó đặt luồng không hoạt động –