freopen

    1熱度

    3回答

    嗨,我試圖從另一個文件中讀取文件名,然後讀取它。但是我只能讀取第一個包含我想打開的第二個文件名稱的文件。以下就是我正在做的吧.. int main() { freopen("input1.txt","r",stdin); while(cin>>fileName>>source>>destination) { //reads perfectly char file[100

    0熱度

    2回答

    我是一個新手程序員,對競爭性編程感興趣。 我最近爲一個COCI問題做了分級。在這個代碼的函數中,我使用循環從輸入文件中獲取輸入。它的文件打開部分看起來像這樣 - int next(int id) { // [[OPEN FILES]] ----------------------- string name1 = probid+".in." + itoa(id);

    2熱度

    1回答

    我在與ncurses庫混合freopen一起有問題。 我所做的是重新打開stdin到一個文件,解析它通過flex +野牛,然後我應該恢復它並開始ncurses。 代碼交換如下: void switchStdin(const char *newStream) { fflush(stdin); fgetpos(stdin, &pos); fd = dup(fileno(s

    1熱度

    1回答

    假設我有一個字符串char* str。 我把它打印到緩衝器下列方式: char buf[MAX_LEN]; freopen("tmp","w",stdout); printf("%s\n",str); fflush(stdout); fp = fopen(tmp,"r"); if (fp == NULL) return; fgets(buf,MAX_LEN,fp); fclose(f

    2熱度

    3回答

    我有一些在c + +中的東西。 我想多次讀取一個文件,但失敗了。 雖然我用fseek移動到文件的頭部後,我再次freopen,但我仍然只能讀一次。第二次,cin沒有任何@。@。 我真的很困惑。 (看來C'S freopen函數可以工作,但我真的想用CIN ...) #include <cstdio> #include <cstdlib> #include <iostream> #includ

    0熱度

    3回答

    我有應用程序,我必須維護該應用程序的日誌文件。我使用NSLog進行日誌記錄。但是這也會寫入系統日誌。如何擺脫這一點。 方法: NSString *appending_filename=[log_dir_path stringByAppendingString:@"/MyApp.log"]; const char *log_p = [appending_filename cStringUsing

    12熱度

    2回答

    我想使用freopen()打印到文本文件和屏幕,但我只是實現打印到文件。 我想知道是否有一個容易將節目輸出保存到文件並將其打印到屏幕上?因爲我以另一種方式工作,但我最終不得不兩次打印每一份陳述。一個是文件,另一個是輸出。 注意:我是C++的新手,我正在嘗試在下學期學習它,所以需要直接回答,因爲我已經在線查看,並且找不到任何此解決方案的簡單答案。 這是我到目前爲止有: #include<iostre

    1熱度

    2回答

    有任何想法,爲什麼這樣的: #include <stdio.h> #include <stdlib.h> int nrpart; int k; void main() { printf("lol"); freopen("p2.in","r",stdin); freopen("p2.out","w",stdout); printf("roar")

    0熱度

    1回答

    編輯:我設法縮小了這個問題,但它仍然沒有多大意義,對我來說。我的代碼變爲8行: ​​ 此代碼將所有內容打印到終端。使用「savedOut」刪除這兩行將全部打印到process.txt。我理解後面的結果,但我不瞭解前者。 編輯完 我有很多與freopen()工作難度的。拿這段代碼: int savedIn = dup(0); int savedOut = dup(1); whi

    0熱度

    1回答

    我正在c中做一個次要的shell實現,並且我被卡住了。 我想能夠重定向stdin和stdout,但我很困惑。在我的shell中,當我想啓動一個程序時,我使用execvp函數。現在我想能夠重定向stdout,所以如果我運行另一個進程,輸出應該被重定向到一個文件而不是屏幕。 下面是示例代碼: pid_t pid; // Child process pid = vfork(); if((pid