为了账号安全,请及时绑定邮箱和手机立即绑定

Linux中没有strrev()函数吗?

Linux中没有strrev()函数吗?

C
波斯汪 2019-09-26 10:11:05
我尝试使用编写代码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;}


查看完整回答
反对 回复 2019-09-26
  • 3 回答
  • 0 关注
  • 760 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信