小编Cha*_*ina的帖子

有时,程序在 std::sort() 中崩溃,无法重现

描述:

我的程序有时会崩溃std::sort(),我编写了一个最小的程序来重现这种情况,但一切都很好。这是最小的例子:

typedef struct st {
    int it;
    char ch;
    char charr[100];
    vector<string *> *vs;
} st;

bool function(st *&s1, st *&s2) {
    static int i = 1;
    cout<<i<<" "<<&s1<<" "<<&s2<<endl;
    ++i;
    return s1->it > s2->it;
}

int main(int argc, char **argv) {
    vector<st *> ar;
    for (int i = 0; i < 100; ++i) {
        st *s = new st;
        s->it = urandom32();
        ar.push_back(s);
    }

    ar.clear();

    for (int i = 0; i < 100; ++i) {
        st …
Run Code Online (Sandbox Code Playgroud)

c++ crash stl vector

2
推荐指数
1
解决办法
1166
查看次数

setsockopt()用于原始套接字fd失败

描述:

我用:

int syn_socket = (AF_INET, SOCK_RAW, IPPROTO_RAW);
Run Code Online (Sandbox Code Playgroud)

创建一个原始套接字,我有root权限.然后:

int on = 1;
int rc = setsockopt(syn_socket, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on));
Run Code Online (Sandbox Code Playgroud)

setsockopt返回-1,errnoEBADF.这是日志:

[2016-12-05 11:02:34 UTC] [syn.cpp:266] [syn]创建原始套接字(255)
[2016-12-05 11:02:34 UTC] [syn.cpp:220] [ send_syn_packet] setsockopt(255)失败.(Ba d文件描述符)
[2016-12-05 11:02:34 UTC] [syn.cpp:292] [syn]发送syn包失败.

c c++ sockets raw-sockets

1
推荐指数
1
解决办法
323
查看次数

strstr()是正常的吗?

描述:

strstr声明:
char *strstr(const char *haystack, const char *needle);

我的功能定义:

hostinfo_t *extract_host_from_url(const char *url) {
    /* ... */
    char *scheme_pos = strstr(url, "://");
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

我怎么用它:

void rewrite_url(string &url) {
    /* ... */
    hostinfo_t * hostinfo = extract_host_from_url(url.c_str());
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

错误信息:

错误:从'const char*'到'char*'的无效转换[-fpermissive]
     char*scheme_pos = strstr(url,"://");

题:

哪里出错了?

c++

0
推荐指数
1
解决办法
108
查看次数

标签 统计

c++ ×3

c ×1

crash ×1

raw-sockets ×1

sockets ×1

stl ×1

vector ×1