2012-02-01 154 views
0

我正在實現一個原始塊密碼。然而,這種實現使得密文的大小可能不同於明文的大小。我需要知道如何計算編碼後形成的密文的大小。 strlen(char *)將不起作用,因爲密文可能包含多個'\ n'字符。有沒有解決這個問題?確定c中位塊的大小

+1

strlen與嵌入式'\ n'沒有問題。你的意思是嵌入'\ 0'字符嗎? – 2012-02-01 17:22:03

+1

我不明白 - 如果你正在執行密碼,你怎麼能不知道輸出塊有多大?如果你的意思是'我如何解析解碼塊',你將不得不實現一些協議來包裝塊。 – 2012-02-01 17:24:18

回答

2

您的編碼函數應該返回大小,它是知道它的唯一實體。 實現一個單獨的函數來「找出大小」意味着重新實現算法的一半。

所以,如果在你的編碼功能,你有這樣的事情:

while (...) 
    buf[i++] = stuff; 

您應該返回i

+0

唯一的,唯一的好答案... – Bart 2012-02-01 17:45:21