trong C++ id muốn đọc đầu vào vào một chuỗi kiểu c một ký tự cùng một lúc. làm thế nào để bạn làm điều này mà không cần đầu tiên tạo ra một mảng char với một kích thước thiết lập (bạn không biết có bao nhiêu ký tự người dùng sẽ nhập). Và kể từ khi bạn không thể thay đổi kích thước mảng, làm thế nào là điều này được thực hiện? Tôi đã suy nghĩ một cái gì đó dọc theo những dòng này, nhưng điều này không hoạt động.C++ đọc thành chuỗi c-style một char tại một thời điểm?
char words[1];
int count = 0;
char c;
while(cin.get(c))
{
words[count] = c;
char temp[count+1];
count++;
words = temp;
delete[] temp;
}
từ mảng là 1 byte dài ...... chuỗi kiểu c phải có, ít nhất, 2 byte: 1 cho ký tự và 2 giây cho kết thúc 'NULL'. – LPs
Chỉ 'xóa' những gì bạn' mới', và chỉ 'xóa []' những gì bạn 'mới []'. Vì bạn không tự động phân bổ 'temp', bạn không nên giải phóng nó. –