cs_MaDC
Messages postés34Date d'inscriptionsamedi 25 mai 2002StatutMembreDernière intervention25 août 2003
-
11 juin 2003 à 19:28
LucChirac
Messages postés8Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention23 mai 2007
-
16 juin 2003 à 10:11
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? :'(
trinitacs
Messages postés249Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 7 août 20032 12 juin 2003 à 09:24
-------------------------------
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? :'(
LucChirac
Messages postés8Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention23 mai 2007 12 juin 2003 à 10:43
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