strrev()函数会修改参数原本的值

来源:互联网 发布:流程图软件visio 名称 编辑:程序博客网 时间:2024/06/04 20:41

在C、C++编程中,我们经常会做一种操作,将一个字符串翻转,这时我们可以用到系统提供的函数,strrev()。

函数原型如下:

_strrev, _wcsrev, _mbsrev

Reverse characters of a string.

char *_strrev( char *string );

wchar_t *_wcsrev( wchar_t *string );

unsigned char *_mbsrev( unsigned char *string );

RoutineRequired HeaderCompatibility_strrev<string.h>Win 95, Win NT_wcsrev<string.h> or <wchar.h>Win 95, Win NT_mbsrev<mbstring.h>Win 95, Win NT

返回值和参数:


Return Value

Each of these functions returns a pointer to the altered string. No return value is reserved to indicate an error.

Parameter

string

Null-terminated string to reverse


注意:函数会修改参数,也就是会将参数中的字符串翻转,并且返回指向这个字符串的指针。

下面举个例子:

#include <string.h>#include <stdio.h>int main(){    char str[5]="good";    char *strtemp=NULL;    printf("The string befor reversal: %s\n",str);    strtemp=strrev(str);       printf("The string strtemp reversed is: %s\n",strtemp);    printf("The string after reversal: %s\n",str);    return 0;}


上面出现在VC++6.0中的运行结果如下:



从上的程序中可以看出,strrev()函数已经将原参数的值修改了。所以在使用的时候需要注意这个问题。

0 0