因为看到的程序只有一点点,我猜想……1. szTemp可能有问题,始初化?赋值?是否定义为局部变量?要不试试
2. 不用writestring, 直接用
int len=szTemp.GetLength();
write( szTemp.GetBuffer(len), len );
szTemp.Release();

解决方案 »

  1.   

    还是不行啊, szTemp的始初化是在定义的时候做的,
    CString szTemp = _T("");
    我还试过strcpy(), 也不行。 真是奇怪透了。 小弟很急, 也许没有写清楚, 如果哪位看不清楚,
    可以回贴告诉我, 我会把不清楚的地方写清楚的。其实过程就是: 用文件对话框得到文件的路径, 
    然后赋给全局(gApp)变量, 在程序退出的时候
    再把这个变量值写入文件。 这么简单的为什么就是不行呢? 我甚至可以用
    messagebox在退出时显示出这个路径, 但就是
    写不进去。 !_!
      

  2.   

    是什么样文件?
    CFile还是CStdioFile
      

  3.   

    I think you don't change the value of the global variant correctly.
    i mean, when you change it, you find it changed, yet when the changing function ends, the value changes to its originally value.
      

  4.   

    多谢大家帮我出主意, 我一一回复。
    回复xianglusong:   在写完了有Close.
    回复Phourm:   是CStdioFile.
    回复Lchaos:   小弟在前面提到, 在写前的一刻我还能用messagebox显示它啊。
                  而且我能确认在程序的运行期它是没有被意外的改变的, 因为
                  在程序的过程中会一直调用它的。这真的是很奇怪啊, 文件能打开, 写入操作没有出错, 在写后还能看到要写的
    内容, 可是文件里就是没有改变; 本来我以为很简单的, 没想到这么没头绪。
    各位, 有力的出力啊, 下次来杭州, 小弟我请客。
      

  5.   

    更奇怪的是如果不是用文件对话框得到的路径, 
    就是直接在edit控件里写入路径, 那就可以写
    入文件。 (我是在edit控件边上放了一个“浏览”
    的按钮去调用文件对话框, 完成后把文件路径
    赋给edit控件的值变量。)
      

  6.   

    哦,是文件名的规则问题,应是这样的:fp.OPen("c:\\my.txt");
    一定是有两个"\",因为"\"是vc的特殊符号。
      

  7.   

    Your open mode?
    binary or text?
      

  8.   

    szTemp是个什么类型的?请多贴一些代码出来。