我嘗試將0x00
到0xff
的字節值賦給具有函數的C字符串,並且還報告生成的字符串的長度。我試圖朝着正確的方向前進,但似乎陷入了一個相當令人沮喪的問題。通過引用將字節加載到C字符串中
下面的代碼顯示了我嘗試將字節值加載到變量中(通過引用傳遞)charset
。代碼編譯並運行,但不輸出任何內容。但是,如果我取消註釋loadCharset
for循環中的第二行,它將打印所有需要的值。我似乎錯過了如何將這些值分配給C字符串。
int loadCharset(int setname, char charset[], int *setlen){ //string sName){
for (int i = 0x00; i <= 0xff; i++){
charset[i] = i;
// printf("%c", i);
}
// *setlen = 256;
}
int main() {
char charset[256];
int* setlen;
loadCharset(1, charset, setlen);
printf("%s", charset); // yields no output
}
字符集中的第一個字符值爲0,所以printf將立即停止打印「字符串」。嘗試在循環中打印值,或者至少跳過第一個(0)元素。 – ooga