C++去除输入行中空白的方法

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

本文链接:https://my.lmcjl.com/post/10596.html

展开阅读全文

4 评论

留下您的评论.