|
这是我目前在自学的编程语言。
+ j: ]' U7 T. |: H 放出一个例子程序.. 它可以截取。你输入的前4位字符。 其实这样程序没什么价值( _! C; c+ I! G
不过它的编程思想值得学习和研究。 呵呵 下面是源码。# Z; p3 a5 E- g0 V. R- V
! }9 L2 T8 x# N- d2 w
#include "stdafx.h"8 }" o$ y* A/ F/ K! g
// left.cpp -- string function with a default argument u7 U+ i& `) u
#include<iostream>' t& u8 }9 @. F& t( s) X3 N$ o# S
const int ArSize = 80;
% I' K2 a8 |$ K5 F! i+ Tchar * left (const char * str, int n = 1);, S" e- Z S$ A, O& T6 d
# c# W, c. z0 X- eint _tmain(int argc, _TCHAR* argv[])
/ F2 `# l& r( R. P \{$ M* u% ^, s2 [5 p9 A
using namespace std;, d+ e/ U1 U/ N
char sample[ArSize]; // ArSize = 80( a6 `( j' u/ h, t) i1 Q
cout << "请输入字符串: \n";3 h B% X8 [3 w( V" `% E- f
cin.get(sample,ArSize); // 可向sample输入80个字符
/ K- K4 u' j- Q- A char *ps = left(sample, 4); // --》转跳至 char * left (const char * str, int n)$ c0 J7 F; @$ X6 Y6 V: v# c x
cout << ps << endl;
7 W. P8 l; ?6 Z* z" Z delete [] ps; // free old string 0 q u5 w9 W3 a# G& N: Q: z
ps = left(sample);
& S% H; ?* o- x6 B3 L* e cout << ps << endl;
: P7 k' |5 W7 G4 [; J4 p9 s& ~ delete [] ps; // ferr new string- @1 h% x, ]& M; }) |
cin.get();/ Y- l) d+ `" I( i5 `+ Z S
return 0;
4 f0 t p7 e% w8 ] {& j4 M}
9 Q8 _, O. Y) M; y! a% g% ^6 z8 Q// This function returns a pointer to a new string 7 L7 ]( }/ U: k9 \) b, [( Z" j
// consisting of the first n characters in the str string & i7 Z% n6 n7 m
char * left (const char * str, int n) ' \7 W5 b5 }2 n: J" ~7 ?
{
& r) S+ N3 k# N& Y% }8 A7 j2 B if(n < 0) // 防止字符数为负 比如 n = -1/ P# V9 H. ^( x
n = 0; // 如果为负字符计数设置为 0 ,并返回空字符
; D% x6 R* J2 H; L: ? char * p = new char[n+1]; // 创建新字符串,以存储选择字符。6 v; s$ a& E/ b! F7 f& k- L
int i;
* j: U) f" [' M1 [2 W: p0 @ for(i = 0; i < n && str; i++)
8 T3 }. A/ I+ M. @4 ]8 v p = str; // copy characters
4 F9 Z' f0 q- f P while(i <= n)
- ?" k# @( U$ I. m: X p[i++] = '\0'; // set rest of string to '\0'
, P* y4 p4 U& O- { return p;
/ E) o) a0 [. \( ^8 t3 ?}
/ D9 K5 d' C1 T& t! B
|& G8 Z9 _4 N[ 本帖最后由 琼ヾ苍 于 2008-9-17 09:30 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|