首页 > 代码库 > 数组与字符串 1.2
数组与字符串 1.2
用C或C++实现void reverse( char* str )函数,即反转一个null结尾的字符串。
分析:先确定字符串的长度,然后从两端往中间遍历,同时交换两端的元素。
1 #include <iostream> 2 #include <fstream> 3 #include <cstring> 4 5 using namespace std; 6 7 void reverse( char *str ); 8 9 int main( int argc, char *argv[] ) {10 string data_file = "./1.2.txt";11 ifstream ifile( data_file.c_str(), ios::in );12 if( !ifile.is_open() ) {13 fprintf( stderr, "cannot open file: %s\n", data_file.c_str() );14 return -1;15 }16 char buffer[1000];17 while( ifile.getline( buffer, 999 ) ) {18 cout <<buffer <<": ";19 reverse( buffer );20 cout <<buffer <<endl;21 }22 ifile.close();23 return 0;24 }25 26 void reverse( char *s ) {27 int slen = strlen( s );28 for( int i = 0; i < slen/2; ++i ) {29 swap( s[i], s[slen-i-1] );30 }31 return;32 }
测试文件
aaaababcabcdaaaaaaaaaaaaaaaaaaa
数组与字符串 1.2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。