-1

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

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

return;
}

它的 c 对应物是这样的:

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) 类型的函数)

4

3 回答 3

1

当然,您可以调用其他函数,但我怀疑您错过了重点。您的讲师可能的意思是您的函数本身不应打印任何内容。相反,它应该返回调用者随后打印的内容。您分配的部分目的可能是为了证明您了解return语句的工作原理以及如何传递和接收函数参数。有鉴于此,使用任何生成输出的函数,而不仅仅是 printf 和 cout,将是一个错误。之所以提到这两个,是因为这些可能是您在课堂上学到的唯一内容,并且列举所有其他可能性可能会使学生感到困惑和不知所措,他们担心他们应该知道所有其他功能是什么。请咨询您的导师以确认。

于 2013-10-09T06:19:43.300 回答
0

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

例如:

char buffer[] = "hello world"

fwrite (buffer , sizeof(char), sizeof(buffer), stdout);
于 2013-10-09T06:40:52.697 回答
0

您可以使用 ofstream:

std::ofstream ofs("file.txt");
ofs << "text";   // This line outputs "text" to file
于 2013-10-09T06:34:23.190 回答