编写mysql命令行

时间:2013-12-24 01:40:31

标签: c++ mysql

我尝试在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服务的连接,但事实并非如此。

有什么问题?为什么不起作用?

谢谢!

1 个答案:

答案 0 :(得分:0)

你对system的两次打电话与彼此无关;它们是独立的,第一个是在第二个开始之前完成的。如果你想将一个字符串传递给第一个mysql命令,也许这样的东西可以工作:

const std::string command = "echo 'exit()' | mysql -h localhost -u root -proot";
system(command.c_str());

如果这不起作用,您可以使用popen