我尝试在C ++中实现我自己的函数(没有外部lib),只需用“系统”函数打开并退出mysql。
我试过这段代码:
#include <iostream>
#include <string>
int main()
{
const std::string command = "mysql -h localhost -u root -proot";
system(command.c_str());
const std::string command2 = "exit()";
system(command2.c_str());
system("pause");
return 0;
}
当我尝试时,控制台连接到mysql控制台,但是没有传递exit命令。 我认为代码可以连接并断开与mysql服务的连接,但事实并非如此。
有什么问题?为什么不起作用?
谢谢!
答案 0 :(得分:0)
你对system
的两次打电话与彼此无关;它们是独立的,第一个是在第二个开始之前完成的。如果你想将一个字符串传递给第一个mysql命令,也许这样的东西可以工作:
const std::string command = "echo 'exit()' | mysql -h localhost -u root -proot";
system(command.c_str());
如果这不起作用,您可以使用popen
。