如果在另一个文件中的函数中使用cout,则重定向cout

时间:2018-02-20 14:17:28

标签: c++ cout clion

我使用的是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;
}

我期待我的项目:

  • 包含多个* .cpp和* .h文件
  • 从所有文件中的所有功能打印到.../output.txt

问题是什么

虽然main.cpp中的cout确实会在.../output.txt中打印测试总和和消息,但cout功能中的foo()会打印&#39; I& #39; ma foo&#39;进入控制台窗口。换句话说,foo()函数中的输入不会重定向到.../output.txt。为什么这样,我该如何解决?

0 个答案:

没有答案