Text Notes Document for Gnu C Programming
So you want to program GNU C in Debian/Ubuntu/Mint ?
Install the Development Libraries and Header Files which contains the symlinks, headers, and object files needed to compile and link programs which use the standard C library.
sudo apt-get install libc6-dev
Without them you will get: fatal error: stdio.h: No such file or directory when the compile is seeking stdio.h
The libraries of “stdio” stands for “standard input/output, the most basic libraries for getting the input from the keyboard and output result text to the display or whatever.
Yeah this really basic, but if you stumbled into this page and want to create a HELLO WORLD program, here goes...
vi hello.c
#include <stdio.h> int main() { printf("hello world!\n"); return 0; }
Now compile
gcc hello.c -o hello
Now execute
./hello
getchar() and loop control
C program that needs to attend the user input without blocking a loop depends on which environment you're coding: raw-C for the glass-tty, curses/termcap, X, KDE, Gnome, etc.
the ncurses function halfdelay()
getchar() example
#include <stdio.h> #define EOL 10 #define ESC 27 main() { char c = 'X'; while (c != ESC) { int cnt; cnt++; printf("iteration of test %d", cnt); c = getchar(); } return 0; }
getputchar() example
#include <stdio.h> main() { int c; c=getchar(); /*declare c to getchar() for character inputs*/ while(c != EOF){ putchar(c); c=getchar(); } }
==
References
- Introduction to ANSI C (on linux)