簡體   English   中英

將不可打印的 ascii 字符輸入到 scanf 中

[英]Input non-printable ascii characters into scanf

所以我看到了這兩個問題:

不幸的是,這些並沒有為我提供我需要的答案,假設我依賴於某個程序的某些輸出,並且無法確定在程序執行之前我需要輸入哪些值,我寧願輸入例如,此代碼的一些輸入:

#include <stdio.h>

int main()
{
    char a[10] = {0};
    printf("\n----------- %x\n", (unsigned int) a); 
    scanf("%s", a);
    for(int i = 0; i < 10;  i++)
        printf("%d\n", (int) a[i]);
}

例如,我正在等待以下程序中的 printf 到達后,然后

輸入 -> 一些包含不可打印的 ascii 字符的輸入

程序輸出-> 04 08 01 05 02 10 09 12 02 02(所有這些都是不可打印的ascii字符的值)

我再次在尋找一種直接輸入它們的方法

  • 我不是在尋找通過在我的代碼中實現某些功能來做到這一點的方法,我的代碼是作為程序示例給出的
  • 在運行期間說時,我的意思是在程序開始運行之后 - 因此我的程序中的打印已經達到
  • 如果這是不明確的,我深表歉意

在 Linux 上,您可以在控制字符前鍵入Control-v以逐字輸入。 因此,要鍵入代碼為0x04的字符,請鍵入Control-v Control-d

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM