3
我剛纔碰到了什麼似乎是我在Python中奇怪的字符串格式化行爲。原來是由於回車符('\ r')導致我不知道在那裏。下面是一個例子:意外的格式字符串行爲
>>> text = 'hello\r'
>>> '(SUBJECT "%s")' % (text)
'(SUBJECT "hello\r")'
>>> print '(SUBJECT "%s")' % (text)
")UBJECT "hello
我在C(在幾臺機器上)嘗試了同樣的事情作爲完整性檢查。
#include <stdio.h>
int main()
{
char *text = "hello\r";
printf("(SUBJECT \"%s\")\n", text);
return 0;
}
輸出:
% ./a.out
")UBJECT "hello
這是期望行爲?如果是這樣,有人可以解釋發生了什麼事嗎?
「回車」是一個古怪的老式術語,意思是「走到行頭」。 –
使用「./a.out | od -c」來查看真正出現的內容。 – chux