小弟我的文件又读不出来了= =!
我的文件又读不出来了= =!!
// 代码如下
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
fstream fs( "test.txt ",ios::in | ios::out);
char cc;
while(!fs.eof()) //error!!! eof()判断的是读指针
{
fs.get(cc);
if (cc> = 'a ' && cc <= 'z ')
cc-=32;
fs.put(cc);
//cout < <cc;
}
cout < <endl;
fs.close();
}
例子(文件):aaaaaaaaaaaaaaaaaaaaaa
我在vc++6中编译出来的程序读那个例子会出现死循环。在c-free(MinGW2.95)中编译出来的程序能执行,但是结果如下:
aAaAaAaAaAaAaAaA.....
希望大家能告诉我。。。
1。为什么vc6编译的程序会死循环;
2。不是说文件的get指针和put指针不是同一个吗?为什么出现了貌似同步的问题。
谢谢^^
------解决方案--------------------
fs.put(cc);
你又put回去了,那还不死循环呀。
而且,get和put之间必须有seek操作。
------解决方案--------------------
规定就是“get和put之间必须有seek操作”,不如此,任何可能都可以发生。
// 代码如下
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
fstream fs( "test.txt ",ios::in | ios::out);
char cc;
while(!fs.eof()) //error!!! eof()判断的是读指针
{
fs.get(cc);
if (cc> = 'a ' && cc <= 'z ')
cc-=32;
fs.put(cc);
//cout < <cc;
}
cout < <endl;
fs.close();
}
例子(文件):aaaaaaaaaaaaaaaaaaaaaa
我在vc++6中编译出来的程序读那个例子会出现死循环。在c-free(MinGW2.95)中编译出来的程序能执行,但是结果如下:
aAaAaAaAaAaAaAaA.....
希望大家能告诉我。。。
1。为什么vc6编译的程序会死循环;
2。不是说文件的get指针和put指针不是同一个吗?为什么出现了貌似同步的问题。
谢谢^^
------解决方案--------------------
fs.put(cc);
你又put回去了,那还不死循环呀。
而且,get和put之间必须有seek操作。
------解决方案--------------------
规定就是“get和put之间必须有seek操作”,不如此,任何可能都可以发生。