CLion C++ can't read/open .txt file in project directory

后端 未结 6 1102
半阙折子戏
半阙折子戏 2020-12-09 17:25

I have a .txt file in my project directory that I made and populated with data.

directory structure looks like:

/Users/asd/ClionProjects/ProjectWithT         


        
相关标签:
6条回答
  • 2020-12-09 17:44

    I found out how to set CMake to build in your project directory in CLion.

    1. Go to file:Settings
    2. Now navigate to build, execution, deployment section
    3. There under build you can specify the build path relative to your project

    I just set mine to ".\build" and now it always builds into my project including the file you make.

    0 讨论(0)
  • 2020-12-09 17:44

    I had the same issue:

    1. Do : Ctrl + Alt + F12 to get the full file path

    2. inputFile.open()

    3. Happy Coding

    0 讨论(0)
  • 2020-12-09 17:46

    if inputFile.is_open() always returns false, inputFile.open("twoday.txt"); is not opening the file correctly, presumably because it can't find "twoday.txt"

    Try setting an explicit path like "c:/path/twoday.txt" or "/path/twoday.txt" if you're using Linux. You could also try writing a file instead to see where it shows up, or something more exotic to return the current path.

    0 讨论(0)
  • 2020-12-09 17:46

    The other answers identify the issue, which really has nothing to do with CLion. When any executable starts up, it has a current working directory. By default, that is the directory where the executable lives. If the file you want to read lives anywhere else, you have to do one of three things:

    • Use a fully qualified path name for your file. Kind of a pain if you are typing in the filename at runtime.
    • Copy your data file to the executable's home. But then you'll need to copy it again when you build the release build rather than the debug build.
    • Use CLion's very nice UI to set the executable's current working directory at startup to a different value, such as your project or data folder.

    I've created a brief tutorial video on how to accomplish the last: https://youtu.be/dTtZEAfh_LM

    0 讨论(0)
  • 2020-12-09 17:50

    I'm going to presume that the working directory is being set to the path to the executable file instead of your CMakeLists.txt file.

    To fix this, EITHER:

    1. put the .txt next to the executable file
    2. Explicitly set the working directory for debugging
    3. Enter the full path to the .txt file as explained in ti7's answer.
    0 讨论(0)
  • 2020-12-09 17:54

    Clion looks for input files and writes output files to the Debug folder. If you put your input files in there it will see them.

    0 讨论(0)
提交回复
热议问题