[爆卦]C 輸出 txt 檔是什麼?優點缺點精華區懶人包

為什麼這篇C 輸出 txt 檔鄉民發文收入到精華區:因為在C 輸出 txt 檔這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者andy00012 ( )看板C_and_CPP標題[問題] 有關於輸出txt檔檔名問題時間Th...


( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )

遇到的問題: (題意請描述清楚)

小弟之前有爬過文章了
無奈c++底子不好

現在希望可以產生多個txt檔
for(int i2=1 ;i2<=5 ;i2++)
{ _____希望這邊可以輸出 output1.txt
| output2.txt
V .
ofstream outFile("output.txt"); .
output x.txt
//---------------中間是輸出的檔案-------------------------------

for(int g2=0 ; g2<=6 g2++)
{
outFile <<predecessor << ","<<cost[f2][1] << endl;
}

//------------------------------------------------------------
}
所以我這邊寫一個i2的迴圈 希望檔名可以從1~~5輸出5個txt檔

無奈不知這邊該如何修改








開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
c++

有問題的code: (請善用置底文標色功能)


補充說明:

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.138.16.55
andy00012:感謝高手回應 10/14 16:42
stupid0319:"output"+i2+".txt" <在java這麼寫就可以了 10/14 16:46
andy00012:不好意思 我使用的是c++不過好像這樣不太行耶 10/14 16:48
stupid0319:char buf[20] = "outputx.txt"; 10/14 16:52
stupid0319:*(buf+6) = i2 + '0'; 10/14 16:53
stupid0319:outFile(buf); 10/14 16:53
MOONRAKER:喔天啊,sprintf就好了啦 10/14 16:54
Saunders:sprintf(buf, "output%1d.txt", i2); 10/14 17:04
legnaleurc:osstream ... 10/14 17:15
xatier:stupid0319大的做法超強 XD 10/14 17:23
james732:我還沒學會 sprintf 之前也是用 stupid0319 那招 10/14 17:34
james732:效率說不定還比較好 XDDD 只是沒啥彈性而言 10/14 17:34
tropical72:sprintf(buf,"output%0*d.txt",3,i2); 這算有彈性吧? 10/14 17:43
james732:我是說 stupid0319 那招沒彈性啦 XD 10/14 17:44
tropical72:誤會一場 XD 10/14 17:45
walm20:純推osstream 10/14 17:45
purpose:http://codepad.org/CIctC3h1 C++只是比較喜歡裝B (矜持) 10/14 18:00
tropical72:推樓上..原來string還可以這麼用.. 10/14 19:21
loveme00835:new String("output") + i + new String(".txt") 二樓 10/14 20:01
loveme00835:打的其實是這樣, 然後再隱含呼叫 i 的 toString 方法, 10/14 20:02
loveme00835:差只差在這些String物件是放在字串池還是還是堆積中 10/14 20:03
loveme00835:就會做的動作上來說, 根本是不同的! 不要拿出來誤導別 10/14 20:04
loveme00835:人, 在 C++ 比較快的方法是用 string 物件的operator+ 10/14 20:04
loveme00835:做一個串接式的語法 : string("output") + itoa( i ) 10/14 20:05
loveme00835:+ ".txt", 從左而右持續生成新的string物件再輸出, 不 10/14 20:06
loveme00835:過因為itoa 這函式不是標準的, 所以用sstream才是最正 10/14 20:07
loveme00835:式的方法 10/14 20:07
purpose:>19:21 http://www.cplusplus.com/img/iostream.gif 10/14 20:46
purpose:他繼承了iostream的<<所以對很多型態都可以插入,只是目的 10/14 20:47
purpose:地不像cout是插入到螢幕,而是插入資料到 string 10/14 20:47
purpose:我的看法是C++要向後相容C語言,原本的"output"在C語言裡 10/14 20:55
purpose:不是一個物件,那+可以運作,是要透過運算子重載,所以非 10/14 20:56
purpose:物件的"output"跟整數,兩個是不能重載處理的,要講原則 10/14 20:57
loveme00835:不過我覺得就算講再多原則, 還是會有人說「我覺得很難 10/14 20:58
loveme00835:用」試都沒試也甚至不會試就把你的意見駁回, 講再多也 10/14 20:59
loveme00835:沒用 10/14 20:59
purpose:大家價值觀不同嘛 10/14 21:00
loveme00835:等等可能會有「用string就不能使用cstring裡的函式」 10/14 21:01
loveme00835:這種論調 10/14 21:01
tropical72:樓上的cstring是指 MFC-CString?(雖覺推論似乎不成立.. 10/14 21:06
loveflames:是c++的cstring 10/14 21:09
loveme00835:cstring = string.h + namespace std + using 10/14 21:12
tropical72:哈.看懂什麼意思了.中了CString的毒 XD 10/14 21:13
james732:其實能達到目的就好,不必這樣的... 10/14 23:12
james732:倒是這個問題有沒有打算收錄精華區 XD 看過好多次了說 10/14 23:12
BlazarArc:我會用 stringstream 硬幹 XD 10/14 23:20
BlazarArc:原來purpose大已經推過了 10/14 23:26
BlazarArc:ofstream outFile((name.str()).c_str()); 10/14 23:27
loveme00835:樓上為什麼要多那層括號? 10/14 23:28
nowar100:j大的建議 我聽到了 XD 我今天看到這篇也有這種想法... 10/15 00:28
tropical72:題外話..版規第三條可以更新了 XD 10/15 00:43
nowar100:Updated. 10/15 01:53

你可能也想看看

搜尋相關網站