Tôi có biến số vector<std::string>
. Tôi cần phải chuyển nó vào một phương thức chấp nhận char**
làm tham số đầu vào.chuyển đổi vector <string> thành char ** C++
cách thực hiện việc này? Nếu có thể, tôi cần phải vượt qua bài có thể ghi được.
Cập nhật 1: Trong một công cụ để tạo ra một phương pháp dịch vụ, cung cấp cho tôi thông số như std :: vector, nhưng nó đặt tự động các vòng loại như &, có nghĩa là định nghĩa phương pháp của tôi được tạo ra bởi công cụ này sẽ trông như sau:
std::string SvcImpl::myMethodname (const std::string par1, const std::vector< std::string >& par2, const std::vector<std::string>& par3)
{
}
Phương pháp này được gọi tự động với các giá trị trong thông số được thông qua. Bây giờ từ bên trong phương pháp này tôi sẽ gọi một phương thức trong một dll trong một thư mục lib đó trông giống như:
int method_to_be_called(char* par1, char ** par2, char ** par3, void* pRetValue);
cho par1 -> Tôi đang đi qua (char *) par1.c_str()
Tôi cần biết cách chuyển các biến cho par2 và par3 và cho pRetValue. giá trị cho par2 và par3 có sẵn trong vectơ nhưng tham số pRetValue cuối cùng là tham số đầu ra mà tôi cần trả về nó dưới dạng std :: string.
xin lỗi nếu tôi rất bối rối hoặc đặt câu hỏi rất cơ bản.
sau đó hoạt động của bạn nên được trên '* writable', giả ** ghi được chấp nhận char của bạn ** param. –
Tôi nghĩ rằng bạn sẽ cần phải tạo ra một 'std :: vector' để lưu trữ địa chỉ của tất cả dữ liệu chuỗi của bạn. –
Galik
Chính xác thì phương pháp này bạn đang truyền đạt để làm gì? – Wlerin