|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
[C] lettura di più righe con scanf da standard input
Ciao a tutti ragazzi, vi illustro il mio problema.
Eseguo un main C in questo modo Codice:
./main < commands.txt Codice:
scanf("%[^\n]s", command);
Codice:
prova provaaaa abc Codice:
prova provaaaa |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Non ho possibilità di provare al momento perchè sono su un sistema senza compilatore, ma non è che per caso rimangono degli "\n" nello standard input che ti impediscono di proseguire nella lettura?
Prova una cosa del genere: Codice:
do {
scanf("%[^\n]s", command);
} while (getchar() != EOF);
__________________
GPU Compiler Engineer |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Probabilmente hai ragione perchè ottengo questo
Codice:
prova provaaaa abc abc abc |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Nun ce riesco
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Prova questo:
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char** argv)
{
char command[100];
int c = 0;
memset(command, 0, 100);
while ((command[0] = getchar()) != EOF) {
scanf("%[^\n]s", command+1);
printf("%s\n", command);
while (getchar() != '\n');
}
return 0;
}
__________________
GPU Compiler Engineer |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Questa versione supporta anche più "a-capi" di fila:
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char** argv)
{
char command[100];
int c = 0;
memset(command, 0, 100);
while ((command[0] = getchar()) != EOF) {
if (command[0] != '\n')
{
scanf("%[^\n]s", command+1);
printf("%s\n", command);
while (getchar() != '\n');
}
else
{
printf("\n");
}
}
return 0;
}
__________________
GPU Compiler Engineer |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Grandissimo, grazie
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:08.



















