File 无法使用c+;将数据写入文件+; 流osCtrs的(“cts.txt”,ios::out); 如果(osCtrs.is_open()){ for(无符号ci=0;ci

File 无法使用c+;将数据写入文件+; 流osCtrs的(“cts.txt”,ios::out); 如果(osCtrs.is_open()){ for(无符号ci=0;ci,file,visual-c++,File,Visual C++,代码对我来说很好,给定了k和dim的正值。你确定它们都不是零吗?如果其中一个是0或更小,程序将永远不会进入实际输出内容的内部循环。试着设置一个断点并单步查看代码发生了什么 另外,您不需要为流的指定ios::out,这是隐含的。当然,您的变量k或dim是

代码对我来说很好,给定了
k
dim
的正值。你确定它们都不是零吗?如果其中一个是0或更小,程序将永远不会进入实际输出内容的内部循环。试着设置一个断点并单步查看代码发生了什么


另外,您不需要为流的
指定
ios::out
,这是隐含的。

当然,您的变量
k
dim
是<0!但说真的,您是否尝试过使用调试器?谢谢,我现在可以结束这个问题,我认为这是因为这句话不太好用。//osCtrs实际上,如果
dim
是一个小于零的
int
,那么
di
将以令人惊讶的方式工作。
dim
将转换为一个大的无符号int;在VC++上,它将超过20亿。
k
ofstream osCtrs("cts.txt",ios::out);
if (osCtrs.is_open()){
    for(unsigned ci = 0; ci < k; ci++){
        KMpoint& x =  ctrs[ci];
        for (unsigned di = 0; di < dim; di++)
        {
            //osCtrs << x[di];
            osCtrs << "what is happening?";
        }
    }
    osCtrs.close();
}