码迷,mamicode.com
首页 > 其他好文 > 详细

数组与字符串 1.2

时间:2014-09-14 20:31:47      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   ar   for   文件   div   

用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 }

测试文件

a
aa
ab
abc
abcd
aaaaaaaaaaaaaaaaaaa

 

数组与字符串 1.2

标签:style   blog   color   io   os   ar   for   文件   div   

原文地址:http://www.cnblogs.com/moderate-fish/p/3971431.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!