A function strrev () não está disponível no Linux?

Eu tentei escrever código usando strrev() . Eu incluí mas ainda estou recebendo um erro “referência indefinida para strrev “.

Eu achei que strrev() não tem página de manual. Por quê?

O Linux não suporta strrev() ?

Corrigir. Use uma das implementações alternativas disponíveis:

 #include  char *strrev(char *str) { char *p1, *p2; if (! str || ! *str) return str; for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2) { *p1 ^= *p2; *p2 ^= *p1; *p1 ^= *p2; } return str; } 
 #include  char *strrev(char *str) { int i = strlen(str) - 1, j = 0; char ch; while (i > j) { ch = str[i]; str[i] = str[j]; str[j] = ch; i--; j++; } return str; } 

Infelizmente, strrev parece estar ausente da string da string.h .

Obviamente, estou atrasado para a festa here-some-code, mas gosto dessa implementação.

 #define MAX_CHARS 10000 // safe_usub -- perform safe unsigned subtraction size_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; } 

Não há function de biblioteca de cadeias de caracteres “Para reverter a cadeia”

strrev() não está presente no compilador GCC no Linux ou Ubuntu

Não há nenhuma function de biblioteca de seqüência de caracteres “para reverter a seqüência de caracteres”

strrev() não está presente no compilador GCC no Linux ou no Ubuntu ………….

reverse.c:

 //////MAKE YOUR OWN REVERSE FUNCTION//// /* * C Program to Reverse the String using Recursion */ #include  #include  void reverse(char [], int, int); int main() { char str1[20]; int size; printf("Enter a string to reverse: "); scanf("%s", str1); size = strlen(str1); reverse(str1, 0, size - 1); printf("The string after reversing is: %s\n", str1); return 0; } void reverse(char str1[], int index, int size) { char temp; temp = str1[index]; str1[index] = str1[size - index]; str1[size - index] = temp; if (index == size / 2)` ` { return;`enter code here` } reverse(str1, index + 1, size); }