我尝试使用编写代码strrev()。我包括了,<string.h>但仍然出现“未定义引用strrev”错误。我发现strrev()根本没有手册页。为什么?Linux不支持strrev()吗?
3 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
不幸的是,strrev
似乎glibc的缺少string.h
。
显然,我参加了一些代码晚会,但是我喜欢这种实现。
#define MAX_CHARS 10000// safe_usub -- perform safe unsigned subtractionsize_t safe_usub (size_t x, size_t y) { return x > y ? x - y : y - x ;}char* str_reverse (const char* const str) { if (!str) { return NULL; } size_t len = strnlen(str, MAX_CHARS); char* new = malloc( sizeof(char) * len ); size_t i; for (i = 0; i < len; i++) { new[i] = str[ safe_usub(i + 1, len) ]; } new[i] = 0; return new;}
- 3 回答
- 0 关注
- 760 浏览
添加回答
举报
0/150
提交
取消