2010-10-21 11 views
0
#include <iostream> 
#include <fstream> 
#include <cstdlib> 
using namespace std; 
int main(int argc,char *argv){ 
fstream inout("C:\\Users\\7\\Desktop\\test.txt",ios::in | ios::out | ios::binary); 
if (!inout){ 
cout<<" cannot open input file.\n"; 
    return 1; 

} 

long e,i,j; 
char c1,c2; 
e=5; 
for (i=0,j=e;i<j;i++,j--){ 


    inout.seekg(i,ios::beg); 
    inout.get(c1); 
    inout.seekg(j,ios::beg); 
    inout.get(c2); 
    inout.seekp(i,ios::beg); 
    inout.put(c2); 
    inout.seekg(j,ios::beg); 
    inout.put(c1); 
} 


inout.close(); 



return 0; 
} 

pourquoi ce code écrit ne peut pas ouvrir le fichier EDIT: j'ai apporté des corrections, mais voici un problème dans test.txt est écrit une telle chosepourquoi ce code écrit ne peut pas ouvrir le fichier

maiko 
miyvarxar 
shen 
me 

il devrait donc écrire me shen miyvarxar maiko mais il n'écrit rien s'il vous plaît aider

+2

changez votre ligne de cout (impossible d'ouvrir le fichier d'entrée) pour imprimer l'erreur – KevinDTimm

+1

Est-ce que cela doit vraiment être une autre question? Il ressemble remarquablement à [celui-ci] (http://stackoverflow.com/questions/3991004/access-of-file-using-c). – dreamlax

+0

Le système de fichiers Windows (comme tous les autres systèmes de fichiers modernes) accepte désormais "/" comme séparateur de répertoire. Si vous utilisez ceci dans les chemins, cela rend le code plus portable. Plus facile à lire (car ce n'est pas une évasion). –

Répondre

0

Le code que vous avez fourni semble bien.

Vous avez peut-être fourni le mauvais chemin ou quelque chose comme ça.

Vous pouvez également essayer de tenter d'ouvrir ce fichier en mode lecture seule et voir si cela est ok:

std::ifstream in("path", std::ios::binary); 

if (!in) { 
    // fail 
} 
2

Cela semble fonctionner pour moi:

using namespace std; 
int main() 
{ 
    fstream inout("C:\\Users\\turdfurguson\\Turds\testfile.txt", ios::in | ios::out | ios::binary); 
    if (inout.good()) 
    cout << "OK!" << endl; 
} 

Pourvu que vous avez Fichier "C: \ Users \ turdfurgson \ Turds \ testfile.txt" lisible et accessible en écriture.

+0

mon chemin complet dekstop est ce C: \ Users \ 7 \ Desktop> s'il vous plaît aidez-moi –

+0

le fichier "test.txt" existe-t-il? –

+0

oui sûr qu'il existe –

Questions connexes