Ich habe .in-Datei im Projektverzeichnis, wenn ich absolute Pfad verwenden, um die Datei zu öffnen, funktioniert es aber relativer Pfad nicht funktioniert.CLion C++ kann einfache Datei im Projektverzeichnis nicht lesen/öffnen
Directoy Inhalt
main.cpp
CMakeLists.txt
milk2.in
CMakeLists.txt
cmake_minimum_required(VERSION 3.3)
project(project)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
add_executable(project ${SOURCE_FILES})
main.cpp
#include <iostream>
using namespace std;
int main() {
pair<int, int> periods[5000];
int lineCount = 0;
freopen("milk2.in", "r", stdin);
cin >> lineCount;
for (int j = 0; j < lineCount; ++j) {
cin >> periods[j].first >> periods[j].second;
}
int startNode = periods[0].first, endNode = periods[0].second, milkMax = 0, freeMax = 0;
for (int i = 1; i < lineCount; ++i) {
if (periods[i].first <= endNode) {
endNode = periods[i].second;
if ((endNode - startNode) > milkMax)
milkMax = endNode - startNode;
} else {
if ((periods[i].first - endNode) > freeMax)
freeMax = periods[i].first - endNode;
}
}
cout << milkMax << " " << freeMax << endl;
}
es keine Fehler im Code, sondern kann, t-Dateien lesen Inhalt mit relativem pat h.
'wenn ich absoluten Pfad verwenden, um die Datei zu öffnen, es funktioniert, aber relativen Pfad funktioniert nicht. - Dies liegt daran, dass sich Ihre '.in'-Datei im * source * -Verzeichnis befindet, die ausführbare Datei jedoch im * build * -Verzeichnis erstellt wird. Das gleiche Problem ist in der [anderen Frage] (http://stackoverflow.com/questions/31495311/clion-cc-cant-read-open-txt-file-in-project-directory?rq=1) mit sehr ähnlich beschrieben Titel. – Tsyvarev
Meine Suchanfragen für dieses Thema alle landen mich hier, obwohl es als ein Duplikat betrachtet wird. Es gibt eine nette Möglichkeit zu steuern, welchen Ordner die ausführbare Datei für Datei-E/A verwendet. Bitte sehen Sie meine Antwort hier: https://Stackoverflow.com/a/48632888/165164 –