|
这是我目前在自学的编程语言。% Z. a$ P$ c A. [
放出一个例子程序.. 它可以截取。你输入的前4位字符。 其实这样程序没什么价值# D; c | B2 ]8 z: {
不过它的编程思想值得学习和研究。 呵呵 下面是源码。
* R- k% Q% [. v" ]' [: z% E
! P! j" u; Q( P& F) ]& ] O. w2 B#include "stdafx.h"
% Q' z9 H( p% ?5 M: ?// left.cpp -- string function with a default argument2 |1 L) S( N) M8 g* j! P* Y2 r t
#include<iostream>0 [' B' l6 M2 b; A% H
const int ArSize = 80;- E9 o9 Q3 z! o* E/ q @8 g3 o. ]
char * left (const char * str, int n = 1);. r9 {7 Z" J; ^# j# [0 g
& U6 m' a) G9 ]5 b. Bint _tmain(int argc, _TCHAR* argv[])
' y, K" X, n5 A2 D& w- t. P{ i/ v$ C# q4 @ K5 n& [% ^6 F
using namespace std;5 k: n3 I! S% V2 n8 e
char sample[ArSize]; // ArSize = 80
3 _8 F* j/ u: n( f/ n- i4 M cout << "请输入字符串: \n"; R- E( {0 [- P& ~' X$ z) p) ]( G
cin.get(sample,ArSize); // 可向sample输入80个字符& R9 D2 h4 A. _. H
char *ps = left(sample, 4); // --》转跳至 char * left (const char * str, int n)
, \; d- [3 d# x+ u cout << ps << endl;
0 Z3 K; B) I' l0 q- l+ a delete [] ps; // free old string K" s8 r: W2 ]% R2 K: k
ps = left(sample);% Q3 y# i! E$ \, T
cout << ps << endl;# ]* ], E+ Z# m% {9 u! ~
delete [] ps; // ferr new string
1 ?3 Q. T6 G# ?4 `7 z' p! { cin.get();
/ L$ n7 P" U: I1 k+ c) O6 |# ~# B( s return 0;" Y6 {8 h0 r7 S" }5 {4 R
}+ W2 c/ |+ `2 m, V: t6 t
// This function returns a pointer to a new string 9 g( `; P! d9 {6 E. e( t0 m
// consisting of the first n characters in the str string + i! U1 `7 n/ e; z3 } C
char * left (const char * str, int n)
% P5 ^5 Y! ^4 e3 Q/ `* S{
$ w- B; T! ]6 ^ if(n < 0) // 防止字符数为负 比如 n = -1
$ _# Q7 W! H# u; l6 P3 w n = 0; // 如果为负字符计数设置为 0 ,并返回空字符
9 e8 y5 ?+ `; [8 C! @6 B+ L+ I char * p = new char[n+1]; // 创建新字符串,以存储选择字符。- I6 w( E H7 Z1 h, ~8 @' S( H9 f4 e
int i;' ~3 f U0 L1 F7 `' m1 B
for(i = 0; i < n && str; i++)
) L& w/ H% A/ @5 J5 ]8 V* o p = str; // copy characters
% e% J3 \$ P0 h E; i while(i <= n)
( [& q u4 P, h p[i++] = '\0'; // set rest of string to '\0' 6 U- Y, n* M, d9 C8 k
return p;% F- |# }6 E& a% Y7 j
}- w1 f2 m; L: ~* I* J
( L6 j" E6 j+ B; ]5 D[ 本帖最后由 琼ヾ苍 于 2008-9-17 09:30 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|