本文实例讲述了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++程序设计有所帮助。