Làm cách nào tôi có thể xem đầu ra của lệnh hệ thống. Ví dụ:xem đầu ra của hệ thống() gọi bằng C++
int _tmain(int argc, _TCHAR* argv[]) {
system("set PATH=%PATH%;C:/Program Files (x86)/myFolder/bin");
system("cd C:/thisfolder/");
std::cin.get();
return 0;
}
khi tôi chạy chương trình trong Visual Studio, màn hình màu đen và tôi không thể thấy lệnh đang chạy. Tôi cần nó để tôi có thể xem liệu nó có hiệu quả hay không. Cảm ơn!
Có thể là sự cố chuyển hướng đầu ra. Hàm 'system()' sử dụng trình thông dịch lệnh để chạy chuỗi đối số của hàm 'system()' để nó có thể là trình thông dịch lệnh không kế thừa chuẩn của bạn để đầu ra từ lệnh không đi tới bàn điều khiển cửa sổ. Một điều có thể là các lệnh bạn đang sử dụng không tạo ra bất kỳ đầu ra nào. thử một lệnh khác như lệnh 'echo' để làm một cái gì đó giống như' system ("echo this is output") '. –
Tôi không chắc rằng 'set'-ing (hoặc' cd') với một lệnh gọi đến 'system' sẽ ảnh hưởng đến lời gọi tiếp theo tới' system' (trên POSIX & Linux, tôi chắc chắn nó không hoạt động. Nhưng tôi không không biết Windows). –
Bạn có cân nhắc sử dụng một số API OS (ví dụ: [_chdir] (https://msdn.microsoft.com/en-us/library/bf7fwze1.aspx) ...) thay vì gọi 'hệ thống'? Hoặc sử dụng một số khung công tác như [POCO] (http://pocoproject.org/), [Qt] (http://qt-project.org/) hoặc có thể Tăng cường. –