スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

改行文字変換

#include
#include

/************************
改行文字の置き換え
\nから\r\nへ

ソースコードすべてメモリに入れてから
出力結果を上書きする
*/

void replace(std::string &text)
{
std::string find("\\n");
std::string out("\\r\\n");

unsigned int pos =0;

while((pos = text.find(out, pos)) != text.npos){
text = text.replace(pos, 4, find, 0, 2);
pos += 2;
}
pos = 0;
while((pos = text.find(find, pos)) != text.npos){
text = text.replace(pos, 2, out, 0, 4);
pos += 4;
}

}



int main(int argc, char *argv[])
{
std::string sorce;//ソースコード
std::string filename;//ファイル名
std::ifstream in;
std::ofstream out;
char ch;

if(argc != 2){
std::cout << "error--" << std::endl;
std::cout << "" << std::endl;
return 0;
}

in.open(argv[1]);//ファイルを開く
if(!in){
std::cout <<"Don't open file" << std::endl;
return 0;
}

in.unsetf(std::ios::skipws);
while(!in.eof()){
in >> ch;
sorce += ch;
}
sorce.erase(sorce.length()-1, 1); //最後の一文字が重なるため
replace(sorce);
std::cout << sorce << std::endl;

in.close();

}

スポンサーサイト
プロフィール

かみさまみならい

Author:かみさまみならい
FC2ブログへようこそ!

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム

この人とブロともになる

ブログ内検索
RSSフィード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。