|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2003
Messaggi: 42
|
C: scrittura e stampa stringa (gestirla anche come vettore)
altri problemucci!
il codice è semplicissimo: Codice:
#include <stdio.h>
#define LUN 255
main()
{
char *p, testo[LUN];
printf("Immetti una linea di testo : ");
gets(testo);
for (p=testo; *p; p++) putchar(*p);
}
La domanda è: come faccio a inserire il testo in una stringa e poi gestirla come un vettore, senza inserire un carattere alla volta? Se ad esempio scrivo Codice:
{
char testo[100];
int i,j;
printf("Immetti una stringa di testo: \n");
for(i = 0; (testo[i]=getchar()) != '\n'; i++); /* sostituisce gets(testo) */
puts(testo);
for (j = 0; j < i; j++)
printf("%s",testo[j]);
}
__________________
ANGI Ultima modifica di angelica : 16-11-2003 alle 21:57. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2000
Città: Ferrara
Messaggi: 2001
|
Premetto che sono anch'io alle prime armi...
O stampi tutti i caratteri della stringa singolarmente: { char testo[100]; int i,j; printf("Immetti una stringa di testo: \n"); for(i = 0; (testo[i]=getchar()) != '\n'; i++); /* sostituisce gets(testo) */ puts(testo); for (j = 0; j < i; j++) printf("%c",testo[j]); } Oppure stampi direttamente la stringa senza bisogno del ciclo: { char testo[100]; int i,j; printf("Immetti una stringa di testo: \n"); for(i = 0; (testo[i]=getchar()) != '\n'; i++); /* sostituisce gets(testo) */ puts(testo); printf("%s",testo); }
__________________
Ryzen 5 5600X, 32GB DDR4-3000MHz, Asrock B550M-Pro4, Case Fractal Design Dfine Mini, SSD Samsung 980Pro 500GB http://www.flickr.com/photos/paoloberno/ |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Nov 2003
Messaggi: 42
|
Quote:
a me il ciclo serviva per poter stampare, per esempio, testo[3] da solo! grazissime!!
__________________
ANGI Ultima modifica di angelica : 16-11-2003 alle 23:37. |
|
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: May 2003
Città: Torino
Messaggi: 63
|
Re: C: scrittura e stampa stringa (gestirla anche come vettore)
Quote:
Codice:
for (j = 0; j < i; j++)
printf("%s",testo[j]);
Comunque per stampare puoi fare fondamentalmente in due modi: Codice:
printf("%s", testo);
Codice:
for (j = 0; testo[j] != '\0'; j++) putchar(testo[j]);
__________________
AMD K6 450 MHz, Epox MVP3G2 FSB 100 MHz, 320 MB RAM, HDD IBM 7200 60 GB, VooDoo III (è vecchia ma per diablo II va ancora bene |
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Nov 2003
Messaggi: 42
|
grazie per l'intervento, Sephiroth83
comunque non era un vero problema, quello da me postato...semplicemente volevo fare un po' di prove sull'I/O!
__________________
ANGI |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2000
Città: Ferrara
Messaggi: 2001
|
X Sepiroth83
Hai detto le stesse core che ho detto io
__________________
Ryzen 5 5600X, 32GB DDR4-3000MHz, Asrock B550M-Pro4, Case Fractal Design Dfine Mini, SSD Samsung 980Pro 500GB http://www.flickr.com/photos/paoloberno/ |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:09.


















