|
这是我目前在自学的编程语言。
: ?8 _: s& [$ u" i- S 放出一个例子程序.. 它可以截取。你输入的前4位字符。 其实这样程序没什么价值: X7 }( z% ^+ k% T, A
不过它的编程思想值得学习和研究。 呵呵 下面是源码。' b0 `+ k! ?% \, M# }8 ~; f) H
, I/ q S6 j* z5 Y" b! g( |#include "stdafx.h"
) J, o3 V, s! N// left.cpp -- string function with a default argument* P! I9 l1 G" |0 q) C' @( s" ]
#include<iostream>9 n% j1 T8 D( k3 H" l& x& F
const int ArSize = 80;
; S9 _, m5 j- V n/ {* ochar * left (const char * str, int n = 1);1 D0 C$ U% L/ c/ s7 s6 n' R$ I6 N
. J5 [; K0 B0 j- p% f/ k; w
int _tmain(int argc, _TCHAR* argv[])& y" ]9 Y |" _6 p9 N
{
* n: y; _2 U9 A& A$ | using namespace std;; I8 F C2 }# e2 z
char sample[ArSize]; // ArSize = 80
4 O. Y2 I+ ]& o* V3 A- m cout << "请输入字符串: \n";9 U" ^6 Q7 I2 n
cin.get(sample,ArSize); // 可向sample输入80个字符2 C; G' X) d6 B' _5 h8 }1 p, K+ S
char *ps = left(sample, 4); // --》转跳至 char * left (const char * str, int n)8 L) a0 y4 d; t
cout << ps << endl;) B( n, v' l6 N# ~( M) e
delete [] ps; // free old string
, ~# o- s3 D& i1 S& z' M ps = left(sample);
" b. A+ r4 T& R6 q( K, H; X' o cout << ps << endl;( x( V0 c) r) |, M) v* y
delete [] ps; // ferr new string
4 f: X/ ]: q- k" x cin.get();
5 f1 @- ?! l+ o return 0;5 O; M3 L- U1 Q/ [$ _' P, k/ `! i
}- a9 {: F# Y8 K$ Y: [% e
// This function returns a pointer to a new string
. U, v& I6 u- Q6 F$ v+ s/ N8 ?// consisting of the first n characters in the str string ( ]* K% Y8 A; d
char * left (const char * str, int n)
* E) M5 W1 p& K{
7 S H( R2 B r' o$ Y) C7 l, U$ S+ @5 `3 q if(n < 0) // 防止字符数为负 比如 n = -1( M8 v* O* k$ F1 r" Y
n = 0; // 如果为负字符计数设置为 0 ,并返回空字符
$ ?5 I6 _* o- W1 q char * p = new char[n+1]; // 创建新字符串,以存储选择字符。
. y! J2 h! a. j# y int i;" L2 ]' D6 _! t& {' X" I' N
for(i = 0; i < n && str; i++)
+ C; X8 a6 E! Y) |* \" @) x2 f6 Z p = str; // copy characters
0 I! n2 M* u; n* F while(i <= n) 2 C$ E' Q" n \6 w9 U4 g( k
p[i++] = '\0'; // set rest of string to '\0' 8 h4 m- }# X0 V7 r _, l/ h
return p;
7 ^' D* f, |" o; V4 T$ ~}
4 g+ e- P# l E
3 M7 d- p# S$ O8 ?+ v# j: p[ 本帖最后由 琼ヾ苍 于 2008-9-17 09:30 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|