informatica:sol:laboratorio21:esercitazionib:esercitazione1
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
informatica:sol:laboratorio21:esercitazionib:esercitazione1 [17/02/2021 alle 18:14 (4 anni fa)] – [Esercizio 2] Massimo Torquati | informatica:sol:laboratorio21:esercitazionib:esercitazione1 [19/02/2021 alle 08:23 (4 anni fa)] (versione attuale) – [Esercizio 2] Alessio Conte | ||
---|---|---|---|
Linea 5: | Linea 5: | ||
Scrivere una funzione C che prende in input come primo argomento una stringa, come secondo argomento la lunghezza della stringa e restituisca nel terzo argomento la stessa stringa con tutti i sui caratteri in maiuscolo: | Scrivere una funzione C che prende in input come primo argomento una stringa, come secondo argomento la lunghezza della stringa e restituisca nel terzo argomento la stessa stringa con tutti i sui caratteri in maiuscolo: | ||
<code c> | <code c> | ||
- | void strtoupper(const char* in, int len, char* out); | + | void strtoupper(const char* in, size_t |
</ | </ | ||
- | Scrivere il programma main di test per la funzione ' | + | Scrivere il programma main di test per la funzione ' |
===== Esercizio 2 ===== | ===== Esercizio 2 ===== | ||
Linea 14: | Linea 14: | ||
Scrivere una funzione con nome ' | Scrivere una funzione con nome ' | ||
<code c> | <code c> | ||
- | const char *mystrcat(char* buffer, | + | char *mystrcat(char* buffer, |
</ | </ | ||
La funzione prende come parametri un buffer, la lunghezza del buffer in bytes ed almeno una stringa (il parametro formale ' | La funzione prende come parametri un buffer, la lunghezza del buffer in bytes ed almeno una stringa (il parametro formale ' | ||
Linea 26: | Linea 26: | ||
#include < | #include < | ||
- | # | + | const int REALLOC_INC=16; |
- | void RIALLOCA(char* buf, size_t newsize) { | + | |
+ | void RIALLOCA(char** buf, size_t newsize) { | ||
< | < | ||
} | } | ||
Linea 35: | Linea 36: | ||
int main(int argc, char *argv[]) { | int main(int argc, char *argv[]) { | ||
- | if (argc != 7) { printf(" | + | if (argc < 7) { printf(" |
char *buffer=NULL; | char *buffer=NULL; | ||
- | RIALLOCA(buffer, | + | RIALLOCA(&buffer, REALLOC_INC); |
buffer[0]=' | buffer[0]=' | ||
buffer = mystrcat(buffer, | buffer = mystrcat(buffer, |
informatica/sol/laboratorio21/esercitazionib/esercitazione1.1613585661.txt.gz · Ultima modifica: 17/02/2021 alle 18:14 (4 anni fa) da Massimo Torquati