我想找到一種方法來壓縮空行。我目前的代碼是爲中間部分做的,但是在開始時它並不壓縮空行。我如何壓縮空行
CODE:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main (void)
{
int c, space = 0, newline = 0;
/*reads char by char til EOF*/
while((c = getchar()) != EOF)
{
if(c == '\t')
{
c = ' ';
}
if(c == ' ')
{
if(space == 0)
{
putchar(' ');
space = 1;
}
}
else if(c == '\n')
{
newline++;
if(newline <= 2)
{
putchar('\n');
}
}
else
{
if(space == 1)
{
space = 0;
}
if(c != '\n')
{
newline = 0;
}
putchar(c);
}
}
return 0;
}
說我輸入:
[空白] [空白] [空白] 測試 [空白] [空白] [空白]
我想要的輸出是: [BLANK] test [BLANK]
我該如何更改我的代碼才能輸出正確的東西。
在此先感謝
PS:我使用I/O重定向進行測試。
編輯:忘了提,我使用Linux文本文件,所以它擺脫了/ R
編輯2:我已經在這裏上傳的輸出文件:
http://www.mediafire.com/?gtbjctbn2jjaxdo
-1:你有沒有嘗試在調試器中逐句通過你的代碼? – 2011-06-17 00:09:56
你可以給我們一個你的程序的I/O的例子,看看有什麼不工作? – 2011-06-17 00:10:39
我會使用正則表達式 – 2011-06-17 00:11:12