01/10/2018, 08:32
Sao chép một chuỗi và in ra chuỗi mới
Như tiêu đề, e có một string, sau khi sao chép nó sang string mới thì không in ra được string mới.
(E biết là trong thư viện của C/C++ có hàm sao chép string, nhưng e chỉ muốn sao chép một số ký tự trong string gốc)
Code test:
#include <iostream>
#include <string>
int main() {
std::string str1;
std::cin >> str1;
str1[3] = 'a';
std::cout << str1;
std::string str2;
for(int i = 0; i < str1.length(); i++) {
str2[i] = str1[i];
}
std::cout << str2;
}
Bài liên quan
cái này nó bị out of range
bản thân str2 đang không có dữ liệu, length = 0, thì bạn không thể thực hiện gán kí tự vào vị trí i của str2 được. Bạn đọc thêm trong link sẽ rõ (operator [], chuyện gì xảy ra khi nó vượt quá length của string)
Còn nếu bạn muốn lấy 1 substring nào đó thì string vẫn có hỗ trợ substr() mà
Gọi
resize()
trước rồi gán gì chả được