Cpp - 无法打开文件

时间:2016-03-09 19:46:05

标签: c++ cmake

我在阅读文件时遇到了一个简单的问题。我试图打开一个包含在资源文件中的文件作为.txt文件。当我尝试编译它并从结构中打印时出现问题。

cmake_minimum_required(VERSION 3.3)
project(reading_from_file)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(reading_from_file ${SOURCE_FILES})

我正在使用有线移位,因为在我的文件中我有三个不同的值,我必须在我的结构中存储三个不同的变量。

为什么我的文件不可见且无法打开?

以下是file.txt来源的链接:http://wklej.org/hash/05290721372/

这也是我的CMakeLists.txt:

{{1}}

也许这就是为什么文件不可见的问题。

谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

首先:抱歉我的英语不好。

第二:你确定file.txt在正确的目录中吗?

读取权限怎么样?试试

chmod ugo+r file.txt

对我来说它有效;或者,至少打开文件。

但是,我认为该程序并不像您期望的那样工作:它会读取值,但每次打印三个随机值,这些值在' m'

你应该这样改变

ifstream file("file.txt");
if (file.is_open()) {
   mystruct m;
   while (file >> m.x >> m.y >> m.a)
      cout << m.x << endl << m.y << endl << m.a << endl;
}
else
   cout << "Cannot open the file";