2010-10-21 3 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; 
} 

почему пишет этот код не может открыть файл EDIT: я сделал корректировки, но вот одна проблема в test.txt написана таким образом, чтопочему этот код пишет не может открыть файл

maiko 
miyvarxar 
shen 
me 

поэтому он должен написать мне шен miyvarxar майко , но это ничего не писать, пожалуйста, помогите

+2

измените вашу строку cout (не можете открыть файл ввода), чтобы напечатать ошибку – KevinDTimm

+1

Должен ли это быть другим вопросом? Он выглядит очень похоже на [этот] (http://stackoverflow.com/questions/3991004/access-of-file-using-c). – dreamlax

+0

Файловая система Windows (как и все другие современные файловые системы) теперь принимает «/» в качестве разделителя каталогов. Если вы используете это в путях, он делает код более переносимым. Легче читать (поскольку это не побег). –

ответ

0

код, который вы ProVi ded выглядит отлично.

Возможно, вы указали неправильный путь или что-то в этом роде.

Вы также можете попробовать при попытке открыть этот файл в режиме только для чтения и посмотреть, если это нормально:

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

if (!in) { 
    // fail 
} 
2

Это, кажется, работает для меня:

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; 
} 

При условии, у вас есть Файл C: \ Users \ turdfurgson \ Turds \ testfile.txt, который доступен для чтения и записи.

+0

my dekstop полный путь - это C: \ Users \ 7 \ Desktop> пожалуйста, помогите мне –

+0

существует ли файл test.txt? –

+0

Да, конечно, существует –

Смежные вопросы