为什么 ifstream 无法打开此文件?
Why won't ifstream open this file?
#include <iostream>
#include <fstream>
using namespace std;
#define BRIGHTNESS_FILE "/sys/class/backlight/radeon_b10/brightness"
int main()
{
ifstream brightness_file("BRIGHTNESS_FILE");
int a;
brightness_file >> a;
cout << a;
}
我已经检查了文件的路径和权限。我不知道为什么它不读取它。
编辑我修复了整个定义的东西与BRIGHTNESS_FILE,但它仍然不会打开。为了安全起见,我已经多次检查了路径
将BRIGHTNESS_FILE
定义为常量字符串字面值:
#define BRIGHTNESS_FILE "/sys/class/backlight/radeon_b10/brightness"
但是不要使用它:
ifstream brightness_file("BRIGHTNESS_FILE");
"BRIGHTNESS_FILE"
是也是一个字符串字面值-它与你的宏无关。这就是为什么它的内容不会被预处理器取代。
你需要的是:
ifstream brightness_file(BRIGHTNESS_FILE);
现在,BRIGHTNESS_FILE
将被更改为"/sys/class/backlight/radon_b10/brightness",你的文件应该正确打开(如果它存在并且是可访问的,当然)。
我假设您没有一个名为"BRIGHTNESS_FILE"
的文件。因为这是您要打开的文件名。为了使用宏定义的字符串,请删除引号。
ifstream brightness_file(BRIGHTNESS_FILE);
相关文章:
- ifstream文件在从行中读取时被清除
- 是否可以在没有真实文件的情况下创建 ifstream
- 虽然循环不读取整个 ifstream 文件
- std::ifstream 在读取文件中最后一项时设置 eofbit,但仅在读取数值类型时发生
- C++:std::ofstream 方法 open() 在第二次迭代时擦除打开的 ifstream 文件
- ifstream 读取的字符与文件中写入的字符不同
- 如何使用 ifstream 检查文件中变量的类型?
- 尝试使用 Ifstream 打开.txt文件时C++问题
- ifstream不会在下一次迭代中打开文件
- 当文件位于正确位置时,ifstream无法打开该文件
- 使用ifstream时,被调用文件中的数据不会打印
- 从带有 std::ifstream::read() 的文件中读取 int 遍历 char * 二进制数据
- 如何确保我的"ifstream"文件对象指向的文件内容已更新?
- ifstream说它打开了一个文件,但文件没有打开
- VS Express 2015 Win10 应用程序 - ifstream 无法打开文件
- C++ : 如何在使用 getline() 和 ifstream 对象从文件中读取一行时跳过第一个空格?
- C++如何附加ifstream以将多个文件读取为一个大文件
- 尝试在c++中将文本文件(ifstream)转换为2D字符数组
- 读取文件(ifstream)和写入文件(ofstream)-编码问题
- 如何共享文件删除权限时,我打开一个文件ifstream