本文实例讲述了C++去除输入行中空白的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
/* * 删除每个输入行末尾的空格及制表符, 并删除完全是空格的行 */ #include <stdio.h> //每一行存放不超过1000个字符,最多输入不超过1000行 #define MAX 1000 int getline( char line[], int limit); main() { int nn; int i=0,j,k; char line[MAX]; char saveline[MAX][MAX]; while ((nn = getline(line,MAX) ) > 0 ){ if (i < MAX){ for (j = 0;j < MAX;j++){ /* 把满足条件的行保存到二维数组中 */ saveline[i][j] = line[j]; } i++; } } printf ( "The new line is:\n" ); for (k = 0;k < i;k++){ printf ( "%s" ,saveline[k]); } } int getline( char vline[], int vlimit) { int ch; int i=0; int j=0; while (((ch = getchar ()) != EOF) && (ch != '\n' )){ if (i < (vlimit - 1)){ vline[j] = ch; j++; } i++; } if (ch == '\n' ){ while (( ' ' == vline[--j]) || ( '\t' == vline[--j]) ){ i--; } vline[j] = ch; j++; i++; } vline[j] = '\0' ; return i; } |
希望本文所述对大家的C++程序设计有所帮助。