反向C风格的字符串? – C

反向C风格的字符串? – C,第1张

概述我想使用指针来反转C中的char数组.我想知道是否有什么我应该采取不同的做法?我这样做了吗?有没有更有效的方法来实现这一目标? 我的小程序: int main ( ){ char buffer[80]; PrintHeader(); cout << "\nString reversal program"; cout << "\nType in a short 我想使用指针来反转C中的char数组.我想知道是否有什么我应该采取不同的做法?我这样做了吗?有没有更有效的方法来实现这一目标?

我的小程序:

int main ( ){    char buffer[80];    Printheader();    cout << "\nString reversal program";    cout << "\nType in a short string of words.";    cout << "\nI will reverse them.";    cout << "\n:";    cin.getline(buffer,79);    cout << "\nYou typed " << buffer;    reverse (buffer);    cout << "\nReversed: " << buffer;    cout << endl;    system("PAUSE");    return 0;}voID reverse(char* string){    char* pStart,*pEnd;    int length;    char temp;    length = strlen(string);    pStart = string;    pEnd = &string[length - 1];    while(pStart < pEnd)    {        temp = *pStart;        *pStart = *pEnd;        *pEnd = temp;        pStart++;        pEnd--;    }}
解决方法
voID str_reverse( char *str ) {    char *str_end = strchr( str,0 );    std::reverse( str,str_end );}

如果你应该写一个循环,

voID str_reverse( char *str ) {    std::size_t len = std::strlen( str );    for ( std::size_t index = 0; index != len / 2; ++ index ) {        std::swap( str[ index ],str[ len - index - 1 ] );    }}

或者,当然,如果你可以使用C字符串,

voID str_reverse( std::string &str ) {    std::reverse( str.begin(),str.end() );}
总结

以上是内存溢出为你收集整理的反向C风格的字符串? – C全部内容,希望文章能够帮你解决反向C风格的字符串? – C所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1220255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存