由於問題已經告訴:有沒有任何作爲佔位符的ASCII字符無效?
我想知道,是否有一個ASCII字符,將由C輸入/輸出對待沒有任何影響?
作爲例子,當我寫的(其中Y
將代表該字符)
printf ("abcYdYfg");
輸出應該是:
abcdfg
而這種控制字符也不可有影響任何標準存儲器或字符串操作功能。
是否有任何ASCII字符提出這個要求?
由於問題已經告訴:有沒有任何作爲佔位符的ASCII字符無效?
我想知道,是否有一個ASCII字符,將由C輸入/輸出對待沒有任何影響?
作爲例子,當我寫的(其中Y
將代表該字符)
printf ("abcYdYfg");
輸出應該是:
abcdfg
而這種控制字符也不可有影響任何標準存儲器或字符串操作功能。
是否有任何ASCII字符提出這個要求?
您可以嘗試使用0x1d
, 0x1e
,0x1f
,那些是組,記錄和單位分隔符。它們的目的正是你想要做的。看到ASCII, the history
這就是說,我不認爲你想用這種方式特殊字符,而是使用memmove(3)作爲@R建議在您的意見問題。
答案很大程度上取決於「無效」的含義。就寫入文件/流/設備的內容而言,沒有這樣的事情。寫入的每個字符都會將文件位置前進一個字節/字符或在該行上傳輸字符。但是,如果您正在討論寫入交互式顯示設備(終端),則會出現不會移動光標的字符。最明顯的例子是NUL字符('\0'
)。你不能在一個C字符串嵌入它(因爲它終止字符串),但你可以把它用%c
和一個參數0與printf
或通過putc
或fwrite
等
好打印,請嘗試測試,並全部打印出來。 – OldProgrammer
沒有什麼幫助,因爲可能會有副作用,我現在不會注意到,但稍後會在某些內存或字符串操作中破壞某些內容。 – dhein
我不確定是否有一個,但也許你可以描述你試圖解決的根本問題 - 它可能有更好的解決方案。 –