c - 如何使用 write 显示字符串?
问题描述
对于一个练习,我必须用这个原型显示一个字符串/字符链:
void display(char *str);
我无权使用'printf',但我必须使用'write'。
有人可以解释一下这是如何工作的吗?
我无权使用除 write 之外的任何功能!!!
解决方案
像这样(我假设你的意思是 *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));
}
推荐阅读
- nginx - 如何覆盖可扩展服务代理错误响应
- reactjs - 如何进行条件标签渲染?
- elasticsearch - 在弹性搜索聚合中每个桶获取一个文档
- python - 如何获得透视扭曲图像中点的(x,y)?
- protocol-buffers - protobuf ShortDebugString() 在处理 \0(null) 时性能很差
- c++ - 如何在 C++ 中使用数组的虚拟初始化方法读取文件
- c - **断言 `!xcb_xlib_threads_sequence_lost' 在 C 中运行图形程序时失败**
- apache-spark-sql - 如何理解 spark sql 中的“已解决”和“未解决”
- excel - Excel 2016 - VBA - 设置对象错误 91
- ios - 从 viewDidLoad() 函数中删除 super.viewDidLoad()