好吧,我会说得简单明了:我是一个 C++ 平民。不过仍在努力学习。
我的问题是:是否可以使用 system() 命令通过终端运行命令,而不让命令显示在控制台/终端中?
例子:
system("sudo service sshd start") ;
Output: Sudo service sshd start
Run Code Online (Sandbox Code Playgroud)
我想要的地方:
system("sudo service sshd start") ;
output: (Blank)
Run Code Online (Sandbox Code Playgroud)
注:我在linux上。
所以我正在尝试编写一个简单的c ++套接字程序(Ubuntu),它所做的就是连接谷歌并告诉我它是这样做的(通过端口80).我决定打印出connect()和socket命令的结果.这是代码:
#include<stdio.h>
#include<sys/socket.h>
#include<arpa/inet.h> //inet_addr
#include<iostream>
int main(int argc , char *argv[])
{
int socket_desc;
struct sockaddr_in server;
//Create socket
socket_desc = socket(AF_INET , SOCK_STREAM , 0);
std::cout << socket_desc;
if (socket_desc == -1)
{
printf("Could not create socket");
}
server.sin_addr.s_addr = inet_addr("172.217.12.46");
server.sin_family = AF_INET;
server.sin_port = htons( 80 );
//Connect to remote server
std::cout << (connect(socket_desc , (struct sockaddr *)&server , sizeof(server)));
if (connect(socket_desc , (struct sockaddr *)&server , sizeof(server)) < 0)
{ …Run Code Online (Sandbox Code Playgroud)