如何用write在C中输出单个字符?

But*_*ter 6 c unix function

有人可以指导我如何在仅使用 write 函数(而不是 printf)的情况下打印单个字母,例如 C 中的“b”。

我很确定它使用

#include <unistd.h>
Run Code Online (Sandbox Code Playgroud)

你能告诉我写属性是如何工作的吗?我真的不明白

int  write(  int  handle,  void  *buffer,  int  nbyte  );
Run Code Online (Sandbox Code Playgroud)

你们中的一些人也可以提供一些 C 初学者技巧吗?

我正在使用 UNIX。

das*_*ght 6

您已经找到了您的函数,您现在需要的只是传递正确的参数:

int handle = open("myfile.bin", O_WRONLY);
//... You need to check the result here
int count = write(handle, "b", 1); // Pass a single character
if (count == 1) {
    printf("Success!");
}
Run Code Online (Sandbox Code Playgroud)

我确实想使用标准输出。如何编写一个版本来显示整个字母表?

您可以为标准输出使用预定义的常量。它被称为STDOUT_FILENO

如果你想写出整个字母表,你可以这样做:

for (char c = 'A' ; c <= 'Z' ; c++) {
    write(STDOUT_FILENO, &c, 1);
}
Run Code Online (Sandbox Code Playgroud)

演示。