【发布时间】:2012-02-07 08:01:09
【问题描述】:
我知道这很简单,但我无法理解。
我正在使用操作系统 - Ubuntu。以下代码已经写在 mysql 源代码中(在 sql_parse.cc 文件中)。我需要检查 perror 错误消息。我怎样才能得到这些消息? 我认为此错误消息不会显示在我正在运行 mysql 客户端/服务器的控制台中?
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
{
string hashed;
int sockfd, n;
char buf[MAXDATASIZE], url[MAXDATASIZE], ack[6];
struct hostent *he;
struct sockaddr_in remote_addr;
if ((he=gethostbyname("localhost")) == NULL) { // get the host info
perror("gethostbyname");
exit(1);
}
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("socket");
exit(1);
}
remote_addr.sin_family = AF_INET; // host byte order
remote_addr.sin_port = htons(PORT); // short, network byte order
remote_addr.sin_addr = *((struct in_addr *)he->h_addr);
memset(&(remote_addr.sin_zero), '\0', 8); // zero the rest of the struct
if (connect(sockfd, (struct sockaddr *)&remote_addr, sizeof(struct sockaddr)) == -1) {
perror("connect");
exit(1);
}
请帮帮我....
【问题讨论】:
-
您是在询问将消息写入何处,以便数据库管理员可以在日志中找到它吗?或者您是在问程序如何发现
perror是否在程序的其他地方使用过? -
我想检查上述情况是否有任何错误,然后
perror将打印错误消息,那么我在哪里可以获得这些消息?