MacOS 下文件读取问题

  • 使用Xcode编写C++程序可以直接使用fstream读写文件,代码如下:
const char* path1 = [path UTF8String];
string filename = path1; ifstream in(filename,ifstream::in); if(in){
  
string buf;
  
while(getline(in,buf)){
    cout
<<buf<<endl; }
}
else{
  cerr
<<"cannot open this file: "<<filename<<endl;
}

  • 如果编写App,文件的绝对路径无法使用,必须使用相对路径,代码如下:
NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"question.txt"];
NSString *fileContent = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
  • 如果一次性读取的文件大小过大,使用NSString保存的文件内容会丢失超出内存的部分,而C++的按行读取不会。

猜你喜欢

转载自www.cnblogs.com/TD-Lemon1996/p/11078139.html
今日推荐