【发布时间】:2016-06-17 16:47:56
【问题描述】:
下面显示的函数在 Xcode 中运行良好,只要我在 OSX 应用程序中使用它们... 现在我写了一个 iOS 应用程序,我想在 .txt 文件中保存一些数据并再次读取它们,但它不起作用......既没有文件写入,也没有读取...... 我已经在网上搜索了解决方案,但我只找到了解决方案,只要它在 OSX 应用程序中不起作用(错误的目录等......),但我的情况不是这样,我已经让它工作了......
我在 iOS 模拟器中使用它有什么区别以及如何让它在那里运行?
//下面的代码现在是更正的版本(在发布之前没有“丢失”部分。
void SaveData(std::string FileName)
{
//!!this was missing
char *H = getenv("HOME");
std::string Home(H);
std::string FileName = Home + "/Documents/" + FileName;
std::ofstream FileOut (FileName);
if (FileOut.is_open())
{
//!!write data to file
FileOut.close();
}
}
void LoadData(std::string FileName)
{
//!!this was missing
char *H = getenv("HOME");
std::string Home(H);
std::string FileName = Home + "/Documents/" + FileName;
std::ifstream FileIn;
FileIn.open(FileName.c_str(), std::ios::in);
if(not FileIn.good())
{
//!!error message
return;
}
//!!read data from file
FileIn.close();
}
【问题讨论】:
-
“写入文件前每一行都需要加密处理”是什么意思?数据没有“行”,它只是字节。行是一个应用程序级别的概念。
-
文件路径是什么,将其添加到问题中。 iOS 限制了可读写的区域。
-
“加密过程”对我来说只是一个注释,我需要稍后插入数据转换功能,一旦完成初始测试。它现在无关紧要(只是一个评论),我忘记在发布之前删除它(我只将代码剥离到相关行,这样对你们来说更具可读性)。文件路径是“users/me/documents/xcodeprojects”,因此用户定义的路径是我存储我的 xcode 项目的路径......我预计这样的问题会是问题,但我在网上找不到任何应该的信息是(iOS vs OSX),如何设置(甚至在哪里设置)。
标签: iphone xcode ipad ifstream ofstream