小弟我的文件又读不出来了= =!

我的文件又读不出来了= =!!
//   代码如下
#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操作”,不如此,任何可能都可以发生。