begin process at 2008 09 06 19:08:24
1 237 887 membres
272 nouveaux aujourd'hui
14 314 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Matez ça! :) [ Archives / Fichier / Disque ] (MaDC)

Matez ça! :) le 11/06/2003 19:28:41

MaDC
J'ai un soucis avec mon appli MFC.
Je voudrais ouvrir un document avec ça :



void CCommandeRobotView::OnFileOpen()
{
CFileDialog fenetreDlg( true, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Fichiers Texte (*.txt)|*.txt|Trajectoires (*.trj)|*.trj|Tous les fichiers (*.*)|*.*||", NULL );
fenetreDlg.DoModal();

CString path = fenetreDlg.GetPathName();

if (fenetreDlg.GetFileName() != "")
{
// un fichier a été choisi, path est son chemin complet
CFile Fichier;
if (!Fichier.Open(path, CFile::modeRead))
{
char message[1000];
sprintf(message, "Impossible d'ouvrir le fichier : %s", path);
MessageBox(message, "Erreur!", MB_OK | MB_ICONEXCLAMATION);
Fichier.Close();
}
else
{
CArchive ar(&Fichier, CArchive::load);

for (int i=0 ; i<400 ; i++)
ar >> m_strTrajDoc[i] >> '\n';

ar.Close();
Fichier.Close();
}
}
}



La ligne ar >> m_strTrajDoc[i] >> '\n'; ne compile pas.
Je voudrais charger chaque ligne du tableau indépendement dans un tableau de CString, et pour se faire je lui dis qu'il trouvera un CString suivi d'un retour chariot mais il aime pas des masses le "\n"... comment je dois faire? :'(

Re : Matez ça! :) le 12/06/2003 09:24:50

trinitacs




-------------------------------
Réponse au message :
tu n'as pas déclaré ar :)

C'est quoi CFile ?

Vu que tu fais du C++ (en voyant ta classe) je te conseil d'utiliser l'objet ifstream pour lire un fichier:
http://www.cplusplus.com/ref/
-------------------------------

> J'ai un soucis avec mon appli MFC.
> Je voudrais ouvrir un document avec ça :
>
>
>

> void CCommandeRobotView::OnFileOpen()
> {
> CFileDialog fenetreDlg( true, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Fichiers Texte (*.txt)|*.txt|Trajectoires (*.trj)|*.trj|Tous les fichiers (*.*)|*.*||", NULL );
> fenetreDlg.DoModal();
>
> CString path = fenetreDlg.GetPathName();
>
> if (fenetreDlg.GetFileName() != "")
> {
> // un fichier a été choisi, path est son chemin complet
> CFile Fichier;
> if (!Fichier.Open(path, CFile::modeRead))
> {
> char message[1000];
> sprintf(message, "Impossible d'ouvrir le fichier : %s", path);
> MessageBox(message, "Erreur!", MB_OK | MB_ICONEXCLAMATION);
> Fichier.Close();
> }
> else
> {
> CArchive ar(&Fichier, CArchive::load);
>
> for (int i=0 ; i<400 ; i++)
> ar >> m_strTrajDoc[i] >> '\n';
>
> ar.Close();
> Fichier.Close();
> }
> }
> }
>
>

>
> La ligne ar >> m_strTrajDoc[i] >> '\n'; ne compile pas.
> Je voudrais charger chaque ligne du tableau indépendement dans un tableau de CString, et pour se faire je lui dis qu'il trouvera un CString suivi d'un retour chariot mais il aime pas des masses le "\n"... comment je dois faire? :'(

Re : Matez ça! :) le 12/06/2003 10:43:43

LucChirac
Je comprends pas très bien.

logiquement ar >> m_strTrajDoc[i] ; , ça doit bien marcher
Mettre une variable dans un caractère (ici \n), il aime pas trop.
Il doit pouvoir se débrouiller comme un grand. Sinon, fait un ifstream

Re : Matez ça! :) le 12/06/2003 13:19:46

MaDC
bah c file c pour le c++ vu que c une classe.

ça fait koi ifstream??

Re : Matez ça! :) le 16/06/2003 10:11:57

LucChirac
Exemple d'utilisation de ifstream


#include <fstream.h> // flux d'entrées/sorties fichiers

ifstream source("toto.txt"); // déclaration de la source

int tab[5];

for (int i=0 ; i<5 ; i++)
{
source >> tab[i]; // comme CArchive
printf("\t %d \t", tab[i]);
}

source.close();


Classé sous : fichier, message, path, cstring, fenetredlg

Participer à cet échange

Livres en rapport

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS