Ik wilde in een programma graag reageren op een keypress en dacht dat met
curses te kunnen bereiken. Helaas, het onderstaande programma eindigt met een
segmentation fault. De printf("Press 'q' [..]") wordt niet meer
uitgevoerd, hoewel gdb aangeeft dat de segmentation fault pas in de
wgetch() functie in curses.c optreedt. Ik heb geen flauw idee wat er aan
de hand zou kunnen zijn; heeft iemand hier een idee?
[Dit is de minimale versie van het programma waarin ik het probleem kan
demonstreren; dit programma zelf doet niets zinnigs]
curses te kunnen bereiken. Helaas, het onderstaande programma eindigt met een
segmentation fault. De printf("Press 'q' [..]") wordt niet meer
uitgevoerd, hoewel gdb aangeeft dat de segmentation fault pas in de
wgetch() functie in curses.c optreedt. Ik heb geen flauw idee wat er aan
de hand zou kunnen zijn; heeft iemand hier een idee?
[Dit is de minimale versie van het programma waarin ik het probleem kan
demonstreren; dit programma zelf doet niets zinnigs]
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| #include <string.h>
#include <curses.h>
int main(void) {
char kw[30];
char desc[200];
int answ;
do {
strcpy(kw, "Keyword");
strcpy(desc, "Description");
printf("%s:\n\t%s\n", kw, desc);
printf("Press 'q' to quit browsing; any other key to display the next entry.");
answ = getch();
} while (answ != 'q');
return 0;
} |
edit:
Ik compileer het programma met: gcc -Wall -ansi -pedantic -o progname progname.c -lm -lncurses
Dit levert geen fouten of waarschuwingen
Ik compileer het programma met: gcc -Wall -ansi -pedantic -o progname progname.c -lm -lncurses
Dit levert geen fouten of waarschuwingen
[ Voor 11% gewijzigd door Confusion op 23-07-2003 19:01 ]
Wie trösten wir uns, die Mörder aller Mörder?