[問題] 讀檔 如何知道每行字元

看板C_and_CPP (C/C++)作者 (微笑的貓)時間13年前 (2012/11/05 19:20), 編輯推噓0(005)
留言5則, 5人參與, 最新討論串1/1
問題(Question): (題目是infix expression轉成postfix,再把postfix的運算結果列出。) 一個file裡有多行測資, 我想要一次一行讀進一個陣列裡,之後要針對這個陣列做strtok以及運算。 但因為不曉得測資裡每行的字元數上限為多少, 所以不太曉得要如何分配字元陣列的大小。 C++的話,我現在只知道用istream的getline讀檔,但它要指定要讀進多少個字元。 不曉得有沒有比較好的方式? 而且也不會浪費記憶體空間。 (用C的話也可以) (想過要動態分配,但卻不知道測資每行字元數上限) (p.s. 規定不能用vector... orz) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.124.27

11/05 19:22, , 1F
std::getline(istream,std::string) , string.h
11/05 19:22, 1F
有想過用string型態,但這樣的話就不能用strtok和atoi了 @@ ※ 編輯: smilecat13 來自: 140.113.124.27 (11/05 19:30)

11/05 19:33, , 2F
string::c_str()
11/05 19:33, 2F

11/05 19:46, , 3F
sstream
11/05 19:46, 3F

11/05 20:02, , 4F
strtok可以用stbstr()+find_first_(not)_of代替
11/05 20:02, 4F

11/05 22:33, , 5F
定一個char[1024]重覆使用不就結了 你又不是只有8K好用
11/05 22:33, 5F
文章代碼(AID): #1Gbw3mlv (C_and_CPP)
文章代碼(AID): #1Gbw3mlv (C_and_CPP)