我嘗試使用編寫代碼strrev()。我包括了,<string.h>但仍然出現(xiàn)“未定義引用strrev”錯誤。我發(fā)現(xiàn)strrev()根本沒有手冊頁。為什么?Linux不支持strrev()嗎?
3 回答

慕姐8265434
TA貢獻1813條經(jīng)驗 獲得超2個贊
不幸的是,strrev
似乎glibc的缺少string.h
。
顯然,我參加了一些代碼晚會,但是我喜歡這種實現(xiàn)。
#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 關(guān)注
- 790 瀏覽
添加回答
舉報
0/150
提交
取消