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








发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。