如何在cpp和c中不使用cout / printf输出文本?

时间:2013-10-09 05:30:03

标签: c++ c printf cout

我的部分cpp代码如下所示:

void Error()
{
string line;
fperror.open("Error.txt");
while ( getline (fperror,line) )
{
  cout << line << endl;
}
fperror.close();

return;
}

它的对应物是:

void Error()
{
int c;
    fperror= fopen("Error.txt", "r");
c=getc(fperror);
while(c != EOF)
{
    putchar(c);
    c=getc(fperror);
}
fclose(fperror);
return;
}

这是我班上的项目,我们的教授告诉我们,我们不允许在函数中使用cout / cin或printf / scanf。所以我想知道是否可以在不使用cout / printf的情况下输出文本文件的内容? (我们必须使用void fun(void)类型的函数)

3 个答案:

答案 0 :(得分:1)

肯定还有其他功能,但我怀疑你错过了这一点。你的导师可能意味着你的功能不应该打印任何本身。相反,它应返回 调用者随后打印的内容。您的任务的部分目的可能是为了证明您了解return语句的工作原理以及如何传递和接收函数参数。在这种情况下,使用任何函数来生成输出,而不仅仅是printf和cout,将是一个错误。提到这两个是因为那些可能是你在课堂上被教过的唯一的东西,并且列举所有其他可能性可能会让那些担心他们应该知道所有其他功能是什么的学生感到困惑和压倒。请咨询您的老师确认。

答案 1 :(得分:0)

您可以使用ofstream:

std::ofstream ofs("file.txt");
ofs << "text";   // This line outputs "text" to file

答案 2 :(得分:0)

您可以在C / C ++中使用fwrite 显示 输出

例如:

char buffer[] = "hello world"

fwrite (buffer , sizeof(char), sizeof(buffer), stdout);