PDA

Visualizza la versione completa : Identificazione errore in C++


m@ximo
02-11-2002, 13:04
Ho questo programma:

#include <fstream.h>

int main() {
ofstream out;
out.open("C:\Documenti\prova.doc");
return 0;
}

e mi da questi errori:

unknown escape sequence '\D'
unknown escape sequence '\M'
unknown escape sequence '\A'

sapete dirmi che genere di errori sono e a cosa possono essere dovuti??

Al è qui
02-11-2002, 13:16
Cambia così:

"C:/Documenti/prova.doc"

ChReAn
02-11-2002, 13:22
Il problema è che il backslash ( la controbarra \ ) viene interpretato come un segnalatore di carattere speciale (sequenza d'escape, come \n per il carry-linefeed e \t per tab).
Per ovviare all'inconveniente, metti le doppie controbarre:

"C:\\Documenti\\ecc..."

m@ximo
02-11-2002, 17:55
Ok grazie mille, ho risolto il problema del backslash (a dirla tutta non ci avevo proprio fatto caso). Cmq il problema purtroppo mi rimane, visto che nonostante la complilazione vada a buon fine, il file non mi viene lanciato. Sapreste aiutarmi a risolvere il problema???

Grazie mille!!

r0x
03-11-2002, 03:20
In quel modo lo apri per I/O, invece credo tu voglia aprirlo con Word, quindi tipo "winword prova.doc". Prova con ShellExecute() e vedi la documentazione perche` al momento io non ce l`ho.

m@ximo
03-11-2002, 10:47
Utilissimo r0x ti ringrazio moltissimo, faccio passi avanti almeno.
Purtroppo però credo di non essere in grado di andare avanti da solo visto che sia in rete sia sui libri che ho non ho trovato molto sulla ShellExecute, quindi vi chiedo se c'è qualke anima pia così gentile da illuminarmi sul prototipo di questa funzione gliene sarei molto grato.

Buondì

Max

Johnny_Depp
03-11-2002, 13:45
#include<iostream.h> /* standard Input/Output C++ */
#include<stdlib.h> /* includi la funzione system() */

void main(){
/* così apri il file word prova.doc */
system("C:\\Documenti\\prova.doc");
/* così apri un nuovo file word */
//system("C:\\Programmi\\Microsoft\" \"Office\\Office10\\winword");
/* così apri il file di testo prova.txt */
//system("EDIT C:\\Documenti\\prova.txt");
}

m@ximo
03-11-2002, 19:36
Grazie Jhonny Depp!

Usando il compilatore Dec-C++, la tua soluzione mi permette di effettuare qualsiasi operazione come se lo stessi facendo in ambiente DOS, in effetti per quello che serve a me è più che sufficiente; infatti quello che ho intenzione di fare è di lanciare un filmato tramite l'eseguibile di Windows Media Player, l'inconveniente è che ho bisogno di passare al mio programma il percorso del file su cui ho cliccato in windows.
Osservando nelle opzioni dei tipi di file di Windows ho visto che per lanciare un video mpeg richiama questa riga:

"c:\programmi\Windows Media Player\mplayer2.exe" /Play "%L"

ossia l'eseguibile di WMP e "%L" credo rappresenti il percordo del file video, quindi dovrei disporre di questo elemento.
Ammesso che si possa fare, vi chiedo nuovamente aiuto. :dhò:

Loading