青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

公告

聯(lián)系我:我的126郵箱: billhsu。 Locations of visitors to this page
<2010年3月>
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910

統(tǒng)計(jì)

  • 隨筆 - 41
  • 文章 - 0
  • 評(píng)論 - 82
  • 引用 - 0

常用鏈接

留言簿(16)

隨筆分類

隨筆檔案

相冊(cè)

Game Dev

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

fstream那些事
感覺fstream有些地方設(shè)計(jì)的不太合理,不知道是bug還是那些牛X們故意這樣的。

首先,fstream竟然在中文路徑這種東西上不支持,網(wǎng)上也可以看到許多實(shí)現(xiàn)方法,但有的方法其實(shí)并不是太好。
我覺得這樣做最簡單:
setlocale(LC_ALL,"");//設(shè)置成當(dāng)前語言環(huán)境
ofstream?out(filename);//打開文件
setlocale(LC_CTYPE,?0);

還有,fstream的getline也有問題,對(duì)于那些\n \r 空行 什么的都沒考慮,用起來會(huì)出錯(cuò)。
在網(wǎng)上看到一個(gè)函數(shù)可以完美解決這個(gè)問題:
bool?readline(ifstream&?infile,?string&?textline)
{

while(getline(infile,?textline,?'\n'))
{
??
int?prev_pos?=?0;?//最開始有效字符位置.
??int?post_pos?=?0;?//最后有效字符位置
??
//下面的循環(huán)語句能夠用textline.find_first_not_of(filter,pos)來處理,出于效率考慮本處使用這樣的算法
??while(textline[prev_pos]?==?'?'?||?textline[prev_pos]?==?'\t'?||?textline[prev_pos]?==?'\r')//過濾開始空白
???prev_pos++;
??
if(textline[prev_pos]?==?'\0')
???
continue;//假如是空白行則再讀一行進(jìn)行處理.
??else
??{
?????? post_pos
=textline.length()-1;
??????
while(textline[post_pos]?==?'?'?||?textline[post_pos]?==?'\t'?||?textline[post_pos]?==?'\r')//過濾最后的空白
???????????? {
????????????????? post_pos
--;
???????????? }
?????? textline
=textline.substr(prev_pos,post_pos+1-prev_pos);
???
return?true;//成功讀取一有效行
??}
??
}
return?false;//讀到文檔的末尾
}

我根據(jù)上面這個(gè)函數(shù) 重載了一個(gè)char* 版的:

bool?readline(ifstream&?infile,?char*?textline)
{
while(infile.getline(textline,32))
{
??
int?prev_pos?=?0;?//最開始有效字符位置
??int?post_pos?=?0;?//最后有效字符位置.??
??string?str=textline;
??
//下面的循環(huán)語句能夠用textline.find_first_not_of(filter,pos)來處理,出于效率考慮本處使用這樣的算法
??while(str[prev_pos]?==?'?'?||?str[prev_pos]?==?'\t'?||?str[prev_pos]?==?'\r')//過濾開始空白
???prev_pos++;
??
if(str[prev_pos]?==?'\0')
???
continue;//假如是空白行則再讀一行進(jìn)行處理
??else
??{
???????? post_pos
=str.length()-1;
????????
while(str[post_pos]?==?'?'?||?str[post_pos]?==?'\t'?||?str[post_pos]?==?'\r')//過濾最后的空白
???????? {
?????????????? post_pos
--;
???????? }
????????
string?str2=str.substr(prev_pos,post_pos+1-prev_pos);
???????? strcpy(textline,str2.c_str());
????????

???return?true;//成功讀取一有效行
??}
}
return?false;//讀到文檔的末尾
}


posted on 2010-03-27 18:37 Bill Hsu 閱讀(1825) 評(píng)論(3)  編輯 收藏 引用 所屬分類: C/C++

評(píng)論

# re: fstream那些事 2010-03-29 01:56 陳梓瀚(vczh)

人家說的是,在英語文化下,中文字符不是字,因此拒絕成為文件名。你把它轉(zhuǎn)到了中文文化,那么中文字符就是字,因此就可以是文件名了。

這就是setlocale的意思,把你的電腦set到地球上的某個(gè)角落,那么就會(huì)分配符合該地方文化的一個(gè)合法字符表和字節(jié)存儲(chǔ)的映射關(guān)系,黑話叫字符集……

# re: fstream那些事 2010-03-29 08:16 Bill Hsu

@陳梓瀚(vczh)
謝謝陳兄的指教哈

# re: fstream那些事 2010-03-29 11:33 溪流

希望未來 CRT 能夠用統(tǒng)一編碼。。。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久九九99| 日韩午夜在线视频| 亚洲韩国日本中文字幕| 久久久.com| 久久激情五月丁香伊人| 久久精品99国产精品酒店日本| 欧美一区二区三区电影在线观看| 午夜视频在线观看一区二区三区| 久久成人免费电影| 蜜臀av在线播放一区二区三区| 欧美高清日韩| 欧美视频在线观看视频极品| 国产精品视频九色porn| 黄色工厂这里只有精品| 亚洲精品看片| 欧美在线精品一区| 欧美成人精品一区二区| 亚洲人妖在线| 亚洲一区二区免费| 久久先锋资源| 欧美日韩一区二区免费在线观看| 国产欧美一区二区精品忘忧草| 激情综合色综合久久| 在线视频一区观看| 麻豆av一区二区三区久久| 91久久线看在观草草青青| 亚洲在线观看视频网站| 欧美成人蜜桃| 国产亚洲欧洲| 午夜亚洲福利| 亚洲人成免费| 久久国产欧美| 国产精品日韩欧美| 日韩午夜电影| 欧美激情中文字幕乱码免费| 亚洲免费一区二区| 欧美日韩美女| 亚洲精品网站在线播放gif| 久久精品理论片| 亚洲桃色在线一区| 欧美色区777第一页| 亚洲日韩中文字幕在线播放| 久久永久免费| 性色一区二区| 国产女主播视频一区二区| 亚洲婷婷在线| 亚洲精品国产视频| 久久综合狠狠综合久久综合88| 国产伪娘ts一区| 亚洲欧美日韩人成在线播放| 亚洲精品一区二区三| 免费视频一区| 亚洲国产欧美日韩| 欧美 日韩 国产精品免费观看| 午夜精品久久一牛影视| 国产精品久久久久影院色老大 | 亚洲电影在线免费观看| 亚洲毛片在线观看.| 久久精品国产一区二区三区免费看| 亚洲乱码国产乱码精品精| 免费一区视频| 亚洲乱码精品一二三四区日韩在线 | 亚洲美女在线观看| 欧美高清视频| 一区二区欧美日韩视频| 日韩亚洲欧美成人| 国产精品高潮呻吟久久av黑人| 亚洲一区二区三区午夜| 亚洲伊人伊色伊影伊综合网 | 国产精品你懂的在线欣赏| 中文国产亚洲喷潮| 亚洲视频 欧洲视频| 国产日韩一区二区三区在线播放| 久久精品国产久精国产思思| 久久久久国产一区二区| 亚洲精品久久7777| 一本不卡影院| 国产一区二区0| 欧美激情视频给我| 欧美日韩精品免费观看视一区二区| 亚洲视频在线观看三级| 亚洲免费伊人电影在线观看av| 国产一区二区高清不卡| 欧美不卡视频一区| 欧美日韩一区自拍| 久久久噜噜噜久久久| 欧美刺激性大交免费视频| 亚洲桃花岛网站| 欧美在线日韩| 99av国产精品欲麻豆| 亚洲欧美日韩在线播放| 亚洲国产精品悠悠久久琪琪| 99www免费人成精品| 国产人成精品一区二区三| 你懂的成人av| 国产精品久久久久一区二区三区共 | 免费久久99精品国产自| 亚洲午夜久久久久久尤物| 欧美一区在线直播| 亚洲作爱视频| 久久久99久久精品女同性| 一本大道久久a久久综合婷婷 | 国产精品成人国产乱一区| 久久综合九色九九| 欧美午夜欧美| 裸体一区二区| 国产精品一区二区黑丝| 久久精品国产免费看久久精品| 国产精品成人va在线观看| 欧美专区日韩专区| 亚洲手机视频| 亚洲精品之草原avav久久| 久久久久国色av免费观看性色| aa国产精品| 亚洲国产精品成人va在线观看| 欧美日韩三区四区| 久久久午夜电影| 亚洲一区二区欧美日韩| 亚洲人成亚洲人成在线观看| 久久精品亚洲精品国产欧美kt∨| 91久久精品美女| 一区二区在线视频| 在线观看亚洲专区| 国产综合婷婷| 国产麻豆精品在线观看| 国产精品xxxav免费视频| 老司机一区二区三区| 久久夜色精品| 欧美片第1页综合| 欧美激情按摩| 欧美日韩精品久久久| 欧美色网在线| 国产亚洲a∨片在线观看| 国产在线视频不卡二| 国内免费精品永久在线视频| 国内伊人久久久久久网站视频| 欧美午夜免费| 国产日韩一区二区三区在线| 国产精品一区在线观看你懂的| 国产精品国产精品| 国产在线精品一区二区中文 | 在线观看91精品国产麻豆| 激情久久综合| 久久久综合视频| 免费日本视频一区| 亚洲午夜女主播在线直播| 欧美激情综合| 在线亚洲电影| 性刺激综合网| 亚洲国产一区二区三区a毛片| 亚洲黄色影院| 国产精品久久久久9999吃药| 亚洲一区二区三区成人在线视频精品 | 亚洲欧美在线网| 午夜久久久久久| 亚洲国产成人久久| 亚洲精品日韩在线| 国产日韩一区在线| 欧美国产先锋| 久久成人精品电影| 欧美视频一区二区三区…| 在线日韩中文| 亚洲精品乱码久久久久久蜜桃91| 亚洲乱码精品一二三四区日韩在线| 久久久亚洲欧洲日产国码αv | 国产精品久久久久aaaa樱花| 亚洲小说欧美另类婷婷| 亚洲视频大全| 国产一区高清视频| 欧美激情一区二区久久久| 欧美高清不卡在线| 亚洲综合精品四区| 欧美一区二区网站| 亚洲精品一区在线观看香蕉| 亚洲欧洲日本一区二区三区| 国产精品va在线| 你懂的国产精品永久在线| 欧美日韩亚洲一区二区三区在线 | 国产欧美一区二区精品性色| 久久大综合网| 欧美日韩国产综合视频在线观看| 欧美一级专区| 欧美日韩一区二区三区四区五区| 欧美中文字幕视频| 国产精品99免视看9| 欧美刺激午夜性久久久久久久| 国产一级揄自揄精品视频| 一区二区三区欧美视频| 午夜在线观看免费一区| 亚洲在线一区| 国产精品一区二区三区四区 | 亚洲成人中文| 亚洲第一黄色| 久久综合九色综合久99| 狂野欧美激情性xxxx| 亚洲人成人77777线观看| 欧美巨乳在线观看| 亚洲综合视频在线| 一本色道久久综合亚洲91| 免播放器亚洲|