對我的任務的進一步幫助我早些時候問過。從標準輸入讀取字符串後,它會檢查任何非ASCII字符。它發現的任何內容都將顯示它的十六進制值和零偏移量。我知道它顯示十六進制很好,但我很難弄清楚如何顯示偏移量。這是我當前的代碼,用於提出這個問題,只顯示相關的行。在C中,檢查字符串中的偏移量並計算字節數
#define MASK 0x80
auto int inChar;
if ((inChar & MASK) == MASK)
{
printf("NON-ASCII INPUT: %x detected at offset %#x \n", inChar, inChar);
nonascii = 1;
}
還有一件事我需要幫助,希望這會更容易回答。如果行讀取除了ASCII之外什麼也沒有,它就是這樣寫出來並顯示讀取的總字節數。我知道如何用整數和乘法來做到這一點,只需要計算一次做某事的次數,但教授似乎希望我們以更直接的方式做到這一點。
這是我寫的代碼。
if (nonascii == 0)
printf("The input stream was pure ASCII with a total of %d bytes read", (numBytes &= inChar));
非常感謝那些幫助我的人。