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
|
Трахнулся с патчем. Не спасло. |