首页 > 解决方案 > 如何使用 write 显示字符串?

问题描述

对于一个练习,我必须用这个原型显示一个字符串/字符链:

void display(char *str);

我无权使用'printf',但我必须使用'write'。

有人可以解释一下这是如何工作的吗?

我无权使用除 write 之外的任何功能!!!

标签: cpointersdisplaywrite

解决方案


像这样(我假设你的意思是 *nixwrite函数):

#include <unistd.h>

// EDIT: now without using string.h
size_t my_strlen(char const *str)
{
  size_t ret = 0u;
  while (str[ret++] != '\0')
    ;
  return ret;
}

void display(char const *str)
{
  write(STDOUT_FILENO, str, my_strlen(str));
}

推荐阅读