2011-11-10 94 views
0

我有一個問題...跳到下一個非空白字符的字符串數組

在試圖通過解析無非空格分隔多個文件我有一個問題...我決定做的最好辦法這是爲了標記我所擁有的字符串,到目前爲止,我已將所有行放入數組中(通過換行符定義數組中的所有新的entrys)。因此,我的數組可能包含5個entrys:(數組中的每個條目定義文件中的行)

1)mary julia  anne     steve 
2)alex james    david  katie 
3)omegle   yikes craxy horse 
4)foo bar  foobar matt maximus 
5)capital or  not  smack 

正如你可以看到,文件中的每個條目可包含不同不確定的空白量......這可以是一個或多個選項卡上的空間,或許多常規空間字符。

我認爲,直到檢測到非空白通過串字符循環成炭,但是這似乎醜陋...

任何幫助嗎?

謝謝:)

+0

'的strtok()'應該是你所需要的。它忽略連續的分隔符,所以你不會得到任何空的字符串 – Dave

回答

0

的sscanf讓這一切爲您:

char *s="\nmary julia  anne  \t   steve", o[100]; 
int n=0; 
while(sscanf(s+=n,"%99s%n",o,&n)==1) 
    puts(o); 
0

使用isspace()所能

從人isspace爲

isspace()所能 檢查空白字符。在「C」和「POSIX」語言環境中,它們是:空格,form-feed('\ f'),換行符('\ n'),回車符('\ r'),水平製表符('\ t' )和垂直標籤('\ v')。

相關問題