Newsgroup: it.comp.programmare.win32
Titolo: C++ builder e input da file.

Ciao a tutti.
Un semplice programma che ho scritto riceve il suo input non da stdin, 
ma da un file di testo. 
Vorrei sapere come posso comunicare questo fatto a Borland C++ builder 
6, in modo da poterne effettuare il debug.
Sicuramente è una fesseria e me ne scuso fin d'ora, ma davvero non 
riesco a trovare nulla nell'help dell'ide.
Grazie a tutti e un saluto.
Bizio.

 6, in modo da poterne effettuare il debug.
Scusa ma non e' chiaro cosa ti serve! :)
Se per caso stai chiedendo come fai a passare degli argomenti command 
line al tuo programma eseguito dentro l'IDE, guarda nel menu' 
"Run|Parameters..."
ciao
Giacomo

 Scusa ma non e' chiaro cosa ti serve! :)
Ok, proverò a spiegarmi meglio. 
Molti programmi leggono il loro input (per esempio una serie di numeri 
da sommare) non dallo standard input (cioè da ciò che l'utente immette 
tramite tastiera durante l'esecuzione del programma), ma da un file (di 
solito un txt), che 
l'utente prepara prima di lanciare il programma.
Solitamente, volendo fornire al programma questa informazione da riga di 
comando, al prompt di ms-dos, si digita:
nomefileeseguibile < nomefileinput 
Io chiedevo come posso ridirigere lo standard input su un file rimanendo 
all'interno dell'ide. In run->parameters non mi pare di aver trovato 
nulla che faccia al caso mio. 
Sperando di essere stato più chiaro, vi ringrazio e vi porgo un saluto 
cordiale.
Bizio.

 Ok, proverò a spiegarmi meglio. 
[CUT]
Ciao,
premetto che non conosco il 'c++ builder' ma provo a risponderti lo stesso.
Proprio per il motivo su detto non saprei dirti con precisione dove puoi 
  trovare il posto in cui specificare la 'linea comando' ma finora non 
mi è capitata nessuna interfaccia, sia di compilatori sia di debugger, 
che non ne dia la possibilità. Alcuni tra le opzioni di debug, altri tra 
le opzioni di progetto.
In ogni caso se non è questa la risposta che desideravi allora provo a 
dartene un'altra versione:
Il segno '<' sulla linea comando viene intercettato dal Sistema 
Operativo quindi, da programma, non lo troveresti comunque tra i 
parametri che vengono passati(almeno, qualche anno fa era così); e 
nemmeno ti serve perché il tuo programma non dovrà fare nient'altro che 
leggere lo standard input come se nulla fosse.
Se non trovi dove specificare la linea comando, allora ti consiglio un 
approccio di questo tipo:
#include <stdio.h>
#define IN_IDE /* linea da commentare prima della compilazione finale */
void main(void);
void main()
{
	char Buffer[256];
	FILE *input;
#ifdef IN_IDE
	input = fopen("miofile.txt", "r"); /* tralascio i test */
#else
	input = stdin;
#endif
	fgets(Buffer, sizeof Buffer, input);
 
	/* ecc... */
 
	exit(0);
}
Dopo averlo testato sarà sufficiente commentare la definizione di IN_IDE 
prima della compilazione finale per averlo funzionante da linea comando 
come desideri.
Se, altrimenti, desideri sapere se è stato rediretto lo standard I/O del 
tuo programma allora, a meno che esistano delle funzioni delle quali non 
sono a conoscenza, credo che l'unico modo di capirlo in una 'console 
dos' sia quello di testare dei flag di una qualche word contenuta nel 
'Memory Control Block' del tuo programma. Per referenziare tale zona di 
memoria (ammesso che sia leggibile) senza l'uso dei servizi interrupt 
del dos è sufficiente calcolare di quanto spostarsi in basso nella 
memoria rispetto all'indirizzo del primo parametro del tuo main (la 
linea comando viene duplicata nel tuo MCB). Per effettuare il calcolo 
dovrai riferirti alle specifiche relative a come il dos posiziona un 
programma in memoria per eseguirlo (cercherei il sevizio dos 'load & exec').
Spero, in qualche modo, di averti aiutato.
Un saluto,
dMaxime.

all'interno dell'ide. 
Non puoi farlo. L'input viene reindirizzato dal sistema operativo
quando esso viene comandato da shell.

dos' 
Attento, non esiste una "Console DOS". Esistono le applicazioni DOS ed
esistono le applicazioni Console. Sotto Win32 sono due cose molto
diverse.

 diverse.
Certo, lo so. Ho una discreta conoscenza di indirizzamenti a 16, 20, 24, 
32 bit e di selettori ma in questo contesto non ho parlato di 
applicazioni ma semplicemente della 'console dos' cioè di quella 
finestra nera che compare a video cliccando 'prompt del dos'.
In ogni caso ti ringrazio per le precisazioni e ti saluto.
dMaxime.