digitalmars.D - getch() function
- Bruno A. Costa (31/31) May 28 2004 Hi,
- Vathix (5/36) May 28 2004 It's a Windows function (or Linux if you're using some term library). Us...
- Bruno A. Costa (6/56) May 28 2004 Yes it is a windows function. But I thought that using a
Hi, I'm trying to compile some programs that use the getch() function, but they fail to link: [bruno localhost D]$ dmd char.d gcc char.o -o char -lphobos -lpthread -lm char.o(.gnu.linkonce.t_Dmain+0x30): In function `_Dmain': : undefined reference to `getch' collect2: ld returned 1 exit status --- errorlevel 256 Example from dsource.org: import std.c.stdio; import std.string; void main() { char k; printf("\nI'm going to ask you to press 10 keys (I promise it's painless).\n" "Certain keys don't count, but the whole alphabet is fair game.\n\n"); for(int i=0; i<10; i++) { printf("Press key: %d\t", i); k = getch(); printf("[%c]\t", k); /* print the character pressed */ printf("[%d]\n", cast(int) k); /* print ASCII code for key */ } printf("\nThe End.\n\n"); } I'm using dmd-0.90 in a Fedora Linux Core 2, gcc version 3.3.3 Hints??? Thanks, Bruno.
May 28 2004
"Bruno A. Costa" <bruno codata.com.br> wrote in message news:c97bq0$18nm$1 digitaldaemon.com...Hi, I'm trying to compile some programs that use the getch() function, but they fail to link: [bruno localhost D]$ dmd char.d gcc char.o -o char -lphobos -lpthread -lm char.o(.gnu.linkonce.t_Dmain+0x30): In function `_Dmain': : undefined reference to `getch' collect2: ld returned 1 exit status --- errorlevel 256 Example from dsource.org: import std.c.stdio; import std.string; void main() { char k; printf("\nI'm going to ask you to press 10 keys (I promise it's painless).\n" "Certain keys don't count, but the whole alphabet is fair game.\n\n"); for(int i=0; i<10; i++) { printf("Press key: %d\t", i); k = getch(); printf("[%c]\t", k); /* print the character pressed */ printf("[%d]\n", cast(int) k); /* print ASCII code for key */ } printf("\nThe End.\n\n"); } I'm using dmd-0.90 in a Fedora Linux Core 2, gcc version 3.3.3 Hints??? Thanks, Bruno.It's a Windows function (or Linux if you're using some term library). Use getchar(). getch() returns immediatly when a key is pressed, but getchar() waits until return is pressed and is portable.
May 28 2004
Vathix wrote:"Bruno A. Costa" <bruno codata.com.br> wrote in message news:c97bq0$18nm$1 digitaldaemon.com...Yes it is a windows function. But I thought that using a standard library (phobos) I would get portable code. Shouldn't phobos be more portable? Thanks, Bruno.Hi, I'm trying to compile some programs that use the getch() function, but they fail to link: [bruno localhost D]$ dmd char.d gcc char.o -o char -lphobos -lpthread -lm char.o(.gnu.linkonce.t_Dmain+0x30): In function `_Dmain': : undefined reference to `getch' collect2: ld returned 1 exit status --- errorlevel 256 Example from dsource.org: import std.c.stdio; import std.string; void main() { char k; printf("\nI'm going to ask you to press 10 keys (I promise it's painless).\n" "Certain keys don't count, but the whole alphabet is fair game.\n\n"); for(int i=0; i<10; i++) { printf("Press key: %d\t", i); k = getch(); printf("[%c]\t", k); /* print the character pressed */ printf("[%d]\n", cast(int) k); /* print ASCII code for key */ } printf("\nThe End.\n\n"); } I'm using dmd-0.90 in a Fedora Linux Core 2, gcc version 3.3.3 Hints??? Thanks, Bruno.It's a Windows function (or Linux if you're using some term library). Use getchar(). getch() returns immediatly when a key is pressed, but getchar() waits until return is pressed and is portable.
May 28 2004