2013-10-11 136 views
1

我用C寫這行,我想讀這行:我如何讀取C語言

[email protected] -> [email protected] at 989883540 

我想4名獨立的字符串:

sender_username: phillip.allen 
sender_hostname: enron.com 
receiver_username: tim.belden 
receiver_hostname: enron.c 

我想擺脫「989883540」部分的文字。

我使用這種轉換:

"%49[^@ ]@%49s -> %49[^@ ]@%49s" 

我好像在之前獲取發送者的用戶名和主機名,所以電子郵件的第一部分 - >符號,但我不能讀TIM的接收器部分。比爾登部分。

+1

嘿!這就是安然電子郵件語料庫! –

回答

1

更換%49s%49[^ ]應該做的伎倆:

"%49[^@]@%49[^ ] -> %49[^@]@%49[^ ]" 

這裏是一個demo on ideone

+0

哇,實際工作的感謝。現在我有幾個問題。爲什麼你不包含%s作爲轉換說明符?它如何知道要尋找什麼? – user2817240

+0

@ user2817240'%49 [^ @]'和'%49 [^]'是有效的轉換說明符,'scanf'知道首先查找'@',然後停止,然後使用'@',然後消耗所有東西到下面的空間,等等。 – dasblinkenlight

+0

好的,有沒有一本手冊或我可以閱讀的地方? – user2817240