使用std::cout不能输出显示

         在测试一行函数时,出现std::cout不能输出的情况,找不到原因。

1.         只好从main函数第一行,开始测试,直到发现一个函数

o_Initer.ekf_filter(filter, x_k_k,p_k_k, sigma_a, sigma_alpha, sigma_image_noise, o_Initer.gSVOC );   
         函数体包含了:

	//f = class(f,'ekf_filter');
	if(freopen( "TraceDeg/Trace.txt", "w", stdout)== NULL)
		fprintf(stderr, "error redirecting stdout\n");
	m_shower.PrintMatrix(x_k_k);
	fclose(stdout);
	//end

         freopen 函数扰乱了重载,注销掉就可以了。       

        

2.fclose(stdout);语句的使用

     fclose(stdout);语句的使用导致 文件输出流 不能重定位 回到标准屏幕输出。需要注意。 

     修改为file.close();
    file.clear();语句。

你可能感兴趣的:(使用std::cout不能输出显示)