【发布时间】:2012-01-26 06:31:23
【问题描述】:
我正在寻找使用 C++ 中的相对路径读取文本文件。目录结构如下:source -> Resources -> Settings -> Video.txt.
文件的内容(注意:这些当然是用来测试的):
somes*** = 1
mores*** = 2
evenmores*** = 3
根据我的研究,这是可能的。不过,我发现这还没有奏效。例如,当我单步调试调试器时,用于接收逐行文本文件输入的 char *line 变量始终为常量 8。据我了解,char 指针可以充当您可以重新分配的动态字符数组。
为什么我无法读取我的文件?当我尝试执行 if ( !videoSettings ) 时,它返回 true,并且我收到一条错误消息(由我自己创建)。
代码
#ifdef WIN32
const char *filePath = "Resources\\Settings\\Video.txt";
#else
const char *filePath = "Resources/Settings/Video.txt";
#endif
std::ifstream videoSettings( filePath );
if ( !videoSettings )
{
cout << "ERROR: Failed opening file " << filePath << ". Switching to configure mode." << endl;
//return false;
}
int count = 0;
char *line;
while( !videoSettings.eof() )
{
videoSettings >> line;
cout << "LOADING: " << *line << "; ";
count = sizeof( line ) / sizeof( char );
cout << "VALUE: " << line[ count - 1 ];
/*
for ( int i = count; i > count; --i )
{
if ( i == count - 4 )
{
}
}
*/
}
delete line;
【问题讨论】:
标签: c++ file-io char text-files