码:
#include <iostream>#include <string>#include <fstream>#include <sstream>using namespace std;int main (int argc,char * const argv[]) { string cppfilename; std::cout << "Please enter the filename to create: "; while ( cppfilename == "" ) { getline(cin,cppfilename); // error occurs here } cppfilename += ".txt"; ofstream fileout; fileout.open( cppfilename.c_str() ); fileout << "Writing this to a file.\n"; fileout.close(); return 0;}
调试输出:
Please enter the filename to create: Running…myfilefileIO(5403) malloc: *** error for object 0xb3e8: pointer being freed was not allocated*** set a breakpoint in malloc_error_break to deBUGCreated: myfile.txt
发布输出:
fileIO implementation C++Please enter the filename to create: Running…myfileCreated: myfile.txt
除了没有检查文件描述符是否打开(为简单起见)这个代码有什么问题?
更新:我将代码分解为以下内容,但仍然存在错误:
string cppfilename; getline(cin,cppfilename); // error here解决方法 这看起来是 _GLIBCXX_DEBUG being broken with gcc 4.2 on Mac OS X的另一个案例.
您最好的选择是删除_GliBCXX_DEBUG或切换到gcc 4.0.
总结以上是内存溢出为你收集整理的Xcode STL C Debug编译错误全部内容,希望文章能够帮你解决Xcode STL C Debug编译错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)