| Time_Lords |
|
|
Темы:
14
Сообщения:
172
Участник с: 19 февраля 2012
|
Есть простейшая программа на С++ с гавнокодом:
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
int main(int argc, char *argv[])
{
char str1[256], str2[256];
cout << "Введите 1 предложение: ";
cin.getline(str1, 256);
cout << "Введите 2 предложение: ";
cin.getline(str2, 256);
char temp[256];
char* ptr = NULL;
int tempnum = 0;
for (int i = 0; str1[i] != '\0'; ++i)
{
temp[tempnum] = str1[i];
++tempnum;
if(temp[i] == ' ' || temp[i] == 0)
{
temp[i] = '\0';
ptr = strstr(str2, temp);
if(ptr == NULL)
cout << temp << endl;
tempnum=0;
}
}
for (int i = 0; str1[2] != '\0'; ++i)
{
temp[tempnum] = str2[i];
++tempnum;
if(temp[i] == ' ' || temp[i] == '\0')
{
temp[i] = '\0';
ptr = strstr(str1, temp);
if(ptr == NULL)
cout << temp << endl;
tempnum=0;
}
}
return 0;
}При комлицяции сиего чуда ошибок нет. При выполнении ловлю сегфолт. В gdb вывод:
(gdb) bt full
#0 0x08048954 in main ()
No symbol table info available.
(gdb) info shared
From To Syms Read Shared Object Library
No linux-gate.so.1
0xb76c6660 0xb7736de4 Yes (*) /usr/lib/libstdc++.so.6
0xb74ed080 0xb7621d1c Yes (*) /usr/lib/libc.so.6
0xb749a490 0xb74c2b68 Yes (*) /usr/lib/libm.so.6
0xb77a28f0 0xb77bac3c Yes (*) /lib/ld-linux.so.2
0xb747b020 0xb7491704 Yes (*) /usr/lib/libgcc_s.so.1
(*): Shared library is missing debugging information.Что делать? :( |
| actics |
|
|
Темы:
23
Сообщения:
85
Участник с: 27 июня 2012
|
Приглядитесь к условию второго цикла. Может быть там все же str2, а не str1? Сигфолт пропадет )) Но вопрос открыт. У меня та же ошибка при работе с gdb. Вроде вот патч, но маяться не охото. |
| Time_Lords |
|
|
Темы:
14
Сообщения:
172
Участник с: 19 февраля 2012
|
Трахнулся с патчем. Не спасло. |