stdio

    4熱度

    3回答

    是否有一個libc函數可以完成與getline相同的功能,但可以使用連接的套接字而不是FILE *流? 解決方法是在套接字上調用fdopen。這樣做的時候應該注意哪些事情。什麼原因做/不做。 一個明顯的理由這樣做是調用函數getline和合作,但也許是一個更好的主意來重寫一些自定義的函數getline?

    12熱度

    2回答

    通過使用fdopen(),fileno()可以使用現有文件描述符打開流。但是,關閉文件的正確方法是,一旦您用流打開文件,則指向fclose()FILE指針。如何關閉流,但保留打開的文件描述符? 此行爲類似於調用fflush()然後fileno(),然後再也不使用FILE指針,除非在關閉時。另外值得關注的是,如果你再次fdopen(),現在有多個FILE指針,你只能關閉其中的一個。

    5熱度

    5回答

    { char *a, *b; printf("%lx\n",(b-a)); } 通常工作,其實我無法想象它給予警告或者失敗的32位或64位計算機上。但是對於ANSI C和尺寸意識來說,這是正確的嗎?我希望這個代碼能夠在任何可能的平臺上工作,包括非Unix和嵌入式系統。

    20熱度

    6回答

    我正在使用以下C代碼從用戶處獲取輸入,直到發生EOF,但是問題是此代碼無法工作,它會在首次輸入後終止。任何人都可以告訴我這個代碼有什麼問題。提前致謝。 float input; printf("Input No: "); scanf("%f", &input); while(!EOF) { printf("Output: %f", input); printf("I

    0熱度

    2回答

    要抑制換行,我們使用%[^ \ n]。你能建議應該在輸入中跳過空白的格式,即如果我們必須輸入「hallo stackflow」。我知道fgets並得到,但我不想使用它們,他們正在創造問題。

    4熱度

    2回答

    在C中,檢測程序的方式是在「後臺模式」中調用的? 我有一個程序,我想要以交互方式或在後臺啓動。 如何檢測我不應該從標準輸入讀取並以「Stopped:tty input」狀態結束? 我應該測試stdin是否關閉?我怎樣才能做到這一點 ? 編輯: isatty似乎是一個好主意,但是如果stdin是管道末端而不是tty,會發生什麼?

    3熱度

    3回答

    據到this post的std :: COUT將上\n自動沖水時它連接到交互設備(例如一個終端窗口)。否則(例如,當傳送到文件時),它將充分緩衝,並且只會沖洗.flush()或std::endl。 有沒有一種方法來覆蓋在Microsoft Visual C這種行爲++,這樣我可以選擇我是否要完全緩衝或行緩衝模式?

    3熱度

    6回答

    我需要使用系統特定的功能,例如ftello()(根據POSIX標準在stdio.h中定義)。我還需要使用標準的C++特性,例如std::sprintf()(根據ISO C++標準在cstdio中定義)。 據我所知,只包括<cstdio>不保證定義非標準C++的東西,所以我想我必須包括。 我很久以前就讀過(例如)使用gcc時,包含文件順序可能存在問題。 那麼,什麼是既包括<cstdio>和<stdi

    0熱度

    3回答

    我正在寫一個C/C++庫的.NET適配器,其中一個方法「bar」需要一個常規的stdio文件*。是否可以構建一個接口,以便託管代碼用戶可以傳遞託管(文件)流?這是沒有創建一箇中間緩衝區和代碼來管道之間的數據。 bar()讀取的假設也只會讓事情變得更好? // native code void bar(FILE*); // interface for managed code void fo

    3熱度

    3回答

    給定一個stdio FILE *指針,有沒有一種方法可以讓我發現(打開的)文件的名稱?