我使用的是Mac OS X(El Captain)和CLion,我创建了一个包含以下文件的项目:
1) main.cpp :
#include <fstream>
std::ifstream cin("/Users/alekscooper/Dropbox/96 - CLion Dummy Project/input.txt");
std::ofstream cout("/Users/alekscooper/Dropbox/96 - CLion Dummy Project/output.txt");
#include "foo.h"
using std::endl;
int main() {
int x, y, z;
cin >> x >> y >> z;
cout << x + y + z << " Test sum is printed" << endl;
foo();
return 0;
}
2) foo.h
void foo();
3) one_more_file.cpp
#pragma once
#include <iostream>
void foo() {
std::cout << "I'm a foo" << std::endl;
}
我期待我的项目:
.../output.txt
问题是什么:
虽然main.cpp中的cout
确实会在.../output.txt
中打印测试总和和消息,但cout
功能中的foo()
会打印&#39; I& #39; ma foo&#39;进入控制台窗口。换句话说,foo()
函数中的输入不会重定向到.../output.txt
。为什么这样,我该如何解决?