danny block notes

domenica, 1 luglio 2007

Unix Programming : Basics

Filed under: c,linux,programming — danny @ 2:38 pm
Tags: ,
// Concetti di base
/* INCLUDE */
#include <lib_standard .h>
#include "lib_programmer.h"

/* ISTRUZIONI DI SELEZIONE */

// selezione semplice
if (cond) {blocco then}
{blocco else}

// operatore ternario
(condizione)? bloccoThen : bloccoElse

// selezione multipla
// espressione può essere solo int, short, long o char;
switch (espressione) {
case elem1:
istruzione1;
break;
...
default:
istruzione;
}

/* PUNTATORI */
indirizzo = &amp; variabile
variabile = * indirizzo

variabile = * ( &amp; variabile )
indirizzo = &amp; ( * indirizzo )

// dichiarazione di un puntatore
tipo_ptr * nome_ptr

// relazione con array
array: tipo nome[dim]
vale : nome = &amp; nome[0]
vale : nome + i = &amp; (nome[i])
vale : nome[0] = * nome
vale : nome[i] = * (nome + i)

/* STRUCT E UNION */
la union si dichiara come una struct ma si può usare un solo campo preso in mutua esclusione

/* IO STANDARD */
std_in    = 0; sI
std_out   = 1; sO
std_error = 2; sE

// output oltre alla printf(const char *format,arg1,arg2,...)
int putchar(int c)
// scrive c sullo sO e ritorna il carattere stesso
int puts(const char *s)
// scrive s (deve terminare con '') sullo sO e ritorna un numero positivo.

// input oltre alla scanf(const char *format,ptr1,ptr2,...)
int getchar();
// legge un carattere (confermato da ENTER) dallo sI e lo ritorna
char* gets(char *s)
// legge una stringa dallo sI, ritorna il puntatore alla stringa e scrive nel buffer s ed aggiunge ''

/* FILE */

// apertura e/o creazione
FILE* fopen(const char *path, const char *mode)
// mode = percorso + nome file
// mode = "r" "w" "a"

// chiusura
int fclose(FILE *f)
// ritorna 0 se non ci sono errori

// output - scrittura
int fputc(char c, FILE *stream)
// scrive c sul file stream e ritorna il carattere stesso
int puts(const char *s, FILE *stream)
// scrive s (deve terminare con '') sul file stream e ritorna un numero positivo.
int fprintf(FILE *stream, const char *format,arg1,arg2,...)
// come la printf

// input - lettura
int fgetc(FILE *stream);
// legge un carattere dal file stream e lo ritorna
char* fgets(char *s, int size, FILE *stream)
// legge una stringa di size byte dal file stream, ritorna il puntatore alla stringa e scrive nel buffer s ed aggiunge ''
int fscanf(const char *format,ptr1,ptr2,...)
// come la scanf

// accesso
int fseek(FILE *stream, long offset, int whence)
// posiziona il puntatore in whence + offset
// offset : entità dello spostamento in byte
// whence : posizione di riferimento = SEEK_SET,SEEK_END,SEEK_CUR cioè inizio,fine,corrente

void rewind(FILE *stream)
// posiziona il puntatore all'inizio
Annunci

Lascia un commento »

Non c'è ancora nessun commento.

RSS feed for comments on this post. TrackBack URI

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Crea un sito o un blog gratuitamente presso WordPress.com.

%d blogger hanno fatto clic su Mi Piace per questo: