URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4774
[ Назад ]

Исходное сообщение
"Segmentation fault C++,Fedora core 4"

Отправлено Divan , 27-Окт-05 13:27 
Помогите плиз разобраться в чем дело...
Код:

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <unistd.h>
#include <time.h>
#include <string.h>
#include <errno.h>
#include <regex.h>
#include <iostream>

int main(void){
        regex_t preg;
        char *regexpr = (char*)malloc(sizeof(char)*256);
        strcpy(regexpr,"[A-Za-z0-9_]*:[A-Za-z0-9_]*");
        if(regcomp(&preg,regexpr,0)){
                std::cerr << "regcomp error!!" << std::endl;
                return 0;
        };

        size_t nmatch;
        regmatch_t pmatch[2];
        if(!regexec(&preg,"divan:pass",nmatch,pmatch,0)){
                std::cerr << "matched!" << std::endl;
                return 0;
        };

        return 0;
}

Компилится нормально а при запуске выдает Segmentation fault.Где я ошибся?


Содержание

Сообщения в этом обсуждении
"Segmentation fault C++,Fedora core 4"
Отправлено vnp , 27-Окт-05 22:40 
>Помогите плиз разобраться в чем дело...
>Код:
>

>        size_t nmatch;
>        regmatch_t pmatch[2];
>        if(!regexec(&preg,"divan:pass",nmatch,pmatch,0)){

>Компилится нормально а при запуске выдает Segmentation fault.Где я ошибся?

Hint: чему равен nmatch, и чему он должен быть равен?


"Segmentation fault C++,Fedora core 4"
Отправлено Divan , 28-Окт-05 05:58 
>>Помогите плиз разобраться в чем дело...
>>Код:
>>
>
>>        size_t nmatch;
>>        regmatch_t pmatch[2];
>>        if(!regexec(&preg,"divan:pass",nmatch,pmatch,0)){
>
>>Компилится нормально а при запуске выдает Segmentation fault.Где я ошибся?
>
>Hint: чему равен nmatch, и чему он должен быть равен?

;-) Вот дурень.... Не инициализировал nmatch! Извиняюсь втупил....
Всем спасибо.