【问题标题】:How to properly use STDERR_FILENO?如何正确使用 STDERR_FILENO?
【发布时间】:2011-12-22 17:10:44
【问题描述】:

谁能给我一个如何正确使用<unistd.h>头文件中的STDERR_FILENO的例子吗?

主要是想学习如何给STDERR_FILENO写错误信息。

我过去使用STDOUT_FILENO 写入某个文件,所以我想知道STDERR_FILENO

write(STDOUT_FILENO, buff, buffSize);

非常感谢任何想法或快速示例。 在此先感谢您的帮助。

P.S:如果您能帮我发布一两行实际代码以了解如何正确使用它,我将不胜感激。

【问题讨论】:

  • STDOUT_FILENOSTDERR_FILENO 之间没有区别(显然底层流除外)。如果你知道如何使用STDOUT_FILENO,你就会知道如何使用另一个。

标签: c unix macros system-calls file-descriptor


【解决方案1】:

一个例子;

char *msg = "This is my message"; /* The actual message*/
int len = strlen(msg);  /* the byte length of the string */
write(STDERR_FILENO, msg, len);

【讨论】:

  • 谢谢!我非常感谢:)
【解决方案2】:

你试过write(STDERR_FILENO, buff, buffSize);吗?

你为什么不使用<stdio.h>

【讨论】:

  • 是的,你是对的。我不知道用什么来代替“buff”和“buffSize”。就像我的错误消息将适合(buff)部分和(buffSize)中的大小?我不太确定。你能用一两行给我一个小例子吗?
  • 但是如果你是这样的新手,你真的应该使用<stdio.h>并了解printf...
  • 我已经在使用它们了。我只是想确认它的用法。感谢您的建议 - (+1 为您提供明确的答案)。
猜你喜欢
  • 1970-01-01
  • 2020-12-04
  • 2012-07-12
  • 2013-01-21
  • 2021-10-24
  • 2020-10-14
  • 2015-12-10
  • 2021-01-15
  • 2018-01-31
相关资源
最近更新 更多