#include #include void main(int argc, char** argv)
file * fp = fopen(argv[1], "r");
if(fp == null)
fseek(fp, 0, seek_end);
long fszie = ftell(fp);
fseek(fp, 0, seek_set);
if(fszie == -1)
char* sz_str = new char[fszie+1];
sz_str[fszie] = '\0';
if(fread(sz_str, 1, fszie, fp) <= 0)
std::string text = sz_str;
std::string output_str = "";
int i = 0;
while(sz_str[i] != '\0')
break;
}else if(sz_str[i] == '\n')//換行符 break
break;
//處理空格和tab
if(sz_str[i] == ' ')
output_str += " ";
else if(sz_str[i] == '\t')
output_str += " ";
else if(sz_str[i] != 0xcd)
output_str += sz_str[i];
i++;
} if(sz_str[i] == '\0')
break;
else //碰到換行符了
} output_str += "
"; fclose(fp);
fp = fopen(argv[1], "w");
if(fp == null)
fwrite(output_str.c_str(), output_str.size(), 1, fp);
fclose(fp);
}
就錯在了else if(sz_str[i] != 0xcd)
這一行 我用偵錯程式看了變數值明明就是0xcd啊,那是為何呢?後來理了理頭緒,改為 else if(sz_str[i] != (char)0xcd) 就好了
因為之前**表示式 由char提公升為int ,結果sz_str[i]提公升為int會變成乙個負數, 而0xcd會變成 乙個小整數。主要當時把他們看成原始二級制了(無符號)如果改為:
else if((unsigned char)sz_str[i] != (unsigned char)0xcd) 也是可以的
俊逸,看似柔弱,卻亭亭玉立,
當雪花沁透著綠意,朔風漫捲大地,你卻在白雪皚皚中傲立枝頭,向世人宣布 春天到了。你雪映的顏,白裡透紅,嬌羞中含著冷豔 你傲立的枝,清雅俊逸,看似柔弱,卻亭亭玉立,承載著濃濃的嫣。你秀中藏傲,在嚴寒中開放,有的像雪,渾然一色,有的像少女的膚,冰清玉潔,滑如凝脂 有的像火,似夕陽映照的雲 黃的似金,囅然...
論壇六種推廣手段分析 看似簡單卻飽含智慧型
站長們,每天的工作細緻而周密,看著輕鬆,只有做站長的人知道,輕鬆的背後需要多少汗水,每天的推廣就著實讓人頭痛,沒點定力的很難在長期的周而復始的工作中堅持下來。所以 大大小小,每天又有多少的 面臨著倒閉,又有多少的 風聲水起。來來往往。論壇推廣方法,仍然在整個 推廣中佔據著很大的工作量,仍然佔據著很大...
記《假性親密關係》為什麼我們看似親近,卻貌合神離?
這本書無疑是寫愛情的,由淺入深,平淡中隱藏著愛情中相處的很多哲學與真相。本書由三部分層層展開,分別是 愛情的假性和真相 與自己對話 來自父母的愛與傷 無代價不愛情,其實做任何事不都有風險麼,愛情中沒有輸贏,真正的愛情是愛過了各種人,對各種所謂的幸福甜蜜都看透了,發現自己完全可以掌控生活,照顧自己,不...