Tôi mới tham gia lập trình. Tôi đã cố gắng để viết một hàm trong C++ mà phát nổ nội dung của một chuỗi thành một mảng chuỗi tại một tham số nhất định, ví dụ:Làm thế nào tôi có thể chia chuỗi bằng dấu phân tách thành một mảng?
string str = "___this_ is__ th_e str__ing we__ will use__";
nên trả lại chuỗi mảng:
cout << stringArray[0]; // 'this'
cout << stringArray[1]; // ' is'
cout << stringArray[2]; // ' th'
cout << stringArray[3]; // 'e str'
cout << stringArray[4]; // 'ing we'
cout << stringArray[5]; // ' will use'
tôi có thể tokenize chuỗi chỉ tốt, nhưng phần khó nhất đối với tôi là làm thế nào tôi có thể xác định số lượng các phần tử trong stringArray trước khi gán nó cho chuỗi hiện tại và cũng như cách trả về stringArray từ hàm.
Ai đó có thể chỉ cho tôi cách viết hàm này không?
Chỉnh sửa1: Tôi không nhất thiết cần kết quả nằm trong mảng chuỗi chỉ bất kỳ vùng chứa nào mà tôi có thể gọi dưới dạng biến thông thường với một số loại lập chỉ mục.
Bài tập về nhà, không chừng? Đó là OK, tất nhiên, nhưng tôi từ câu trả lời bài tập về nhà một cách khác nhau ... – dmckee
trùng lặp: http://stackoverflow.com/questions/53849/how-do-i-tokenize-a-string-in-c – lothar
@Iothar câu trả lời ở đây có vẻ hiệu quả hơn. – Arnthor