Làm cách nào để bạn thực hiện một chương trình dòng lệnh với các đối số từ một chương trình C++? Đây là những gì tôi tìm thấy trực tuyến:Chương trình C++ để thực hiện một Chương trình khác với các đối số dòng lệnh
http://www.cplusplus.com/forum/general/15794/
std::stringstream stream;
stream <<"program.exe "<<cusip;
system(stream.str().c_str());
Nhưng nó dường như không chấp nhận một vị trí chương trình thực tế, vì vậy tôi không chắc chắn làm thế nào để áp dụng điều này. Hy vọng của tôi là có một cái gì đó như thế này:
std::stringstream stream;
stream <<"C:\Tests\SO Question\bin\Release\HelloWorld.exe "<<"myargument";
system(stream.str().c_str());
Điều này đưa ra một số cảnh báo liên quan đến dấu gạch chéo ngược - và chương trình không hoạt động. Bạn có mong đợi bạn có chương trình ở một số địa điểm cụ thể không?
Đây là sản phẩm tôi nhận được trong giao diện điều khiển:
'C: \ thử nghiệm' không được công nhận là một lệnh nội bộ hay bên ngoài, chương trình hoặc hàng loạt có thể hoạt động tập tin.
PHỤ LỤC:
Vì vậy, dựa trên câu trả lời của Jon đúng phiên bản cho tôi trông như thế này:
#include <iostream>
#include <cstdlib>
#include <sstream>
#include <cstring>
int main(int argc, char *argv[])
{
std::stringstream stream;
stream << "\"C:\\Tests\\SO Question\\bin\\Release\\HelloWorld.exe\""
<< " " // don't forget a space between the path and the arguments
<< "myargument";
system(stream.str().c_str());
return 0;
}
Bất kỳ ý tưởng nào cách chuyển hướng stdout từ hệ thống (...) sang std :: string hoặc std :: stringstream ? – Pupsik
@Pupsik Hàm hệ thống trả về một int. Rõ ràng bạn sẽ cần phải biết mã trạng thái cho bất kỳ hệ điều hành nào bạn đang sử dụng: "Nếu lệnh không phải là một con trỏ rỗng, giá trị trả về phụ thuộc vào việc triển khai hệ thống và thư viện, nhưng nó thường được mong đợi là mã trạng thái được trả về bởi được gọi là lệnh, nếu được hỗ trợ. " - từ http://www.cplusplus.com/reference/cstdlib/system/ - sau đó bạn có thể tạo ra thông báo lỗi thích hợp dựa trên int được trả về. – Stepan1010
Cái gì? Bạn đã đọc nhận xét của tôi chưa? – Pupsik