Ist die function strrev () unter Linux nicht verfügbar?

Ich habe versucht, Code mit strrev() zu schreiben. Ich habe aber ich bekomme immer noch einen “undefinierten Verweis auf strrevstrrev .

Ich habe festgestellt, dass strrev() überhaupt keine man-Seite hat. Warum?

Unterstützt Linux nicht strrev() ?

Solutions Collecting From Web of "Ist die function strrev () unter Linux nicht verfügbar?"

Richtig. Verwenden Sie eine der verfügbaren alternativen Implementierungen:

 #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; } 

Leider scheint strrev in strrev nicht vorhanden zu string.h .

Offensichtlich bin ich zu spät zur Here’s-Code-Party, aber ich mag diese Implementierung.

 #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; } 

Es gibt keine String-Library-function “Zum Umkehren der Zeichenfolge”

strrev() ist nicht in GCC Compiler in Linux oder Ubuntu vorhanden

Es gibt keine beliebige String-Bibliotheksfunktion “für die umgekehrte Zeichenfolge”

strrev() ist nicht in GCC-Compiler in Linux oder Ubuntu vorhanden ………….

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); }