このK3、wikiだと半角スペースを一行ずついれないと
段下げ(テーブル化?)がめんどくさいので
それを一気にプログラムでやってしまおうかという発想
ただ単にテキストの先頭に半角スペースいれただけだけど・・・
ツールとコード両方あげときます。

 

せっかくなので、みんなで色々な版を作ってみませう。

 

C++

by アブナイお兄ちゃん

// space.bat
echo on
space.exe main.cpp
pause
// テキストのすべての行にスペースを入れるプログラム
// space.cpp
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable:4996)

#include <stdio.h>
#include <conio.h>
#include <string.h>

// メイン関数
int main(int argc,char *argv[])
{
    FILE *fpRead,*fpWrite;
	char buf[1024],line[1024];

	if(argc == 1)
	{
		printf("付属のバッチファイルをお使いください\n");
		getch();
		return -1;
	}

	char *filename = argv[1];

	if((fpRead = fopen(filename,"r")) == NULL)
	{
		printf("オープン失敗\n");
		return -1;		
	}

	char Out_File[256] = "Out_"; 
	strcat(Out_File,filename);
	if((fpWrite = fopen(Out_File,"w")) == NULL)
	{
		printf("オープン失敗\n");
		return -1;		
	}
	
	while(fgets(buf, sizeof(buf), fpRead) != NULL)
	{
		memset(line,0,sizeof(line));
		strcpy(line, buf);
		fprintf(fpWrite," %s",line);
	}

	fclose(fpWrite);
	fclose(fpRead);

    return 0;
}

使い方は全部先頭に半角スペースいれたいテキストに対して
space.batを右クリ→編集→ファイル名(ここだとmain.cppになってるところ)をかえて
space.batを起動させる

注:space.batとspace.exeは同じフォルダ内にいれておくといいかも

 

Python

by ハイテク

こんな作業をC++で書くのは面倒ですよ。
こういう用途には、LL言語が最適。
と、Python実装を勝手に追記。

#!/usr/bin/python
#

import sys
src = ""
dest = ""
if len(sys.argv) == 2:
	src = dest = sys.argv[1]
elif len(sys.argv) == 3:
	src = sys.argv[1]
	dest = sys.argv[2]
else:
	print "space.py\n usage: space.py targetfile\n\tspace.py sourcefile destfile"
	quit()

lines = file(src, "r").readlines()
f = file(dest, "w")
for line in lines:
	f.write(" "+line)
f.close

usage:

menum:util touta$ ./space.py
space.py
 usage: space.py targetfile
	space.py sourcefile destfile
 

Ruby

by ハイテク

ついでにrubyも。

#!/usr/bin/ruby
#

src = ""
dest = ""
if ARGV.length == 1
	src = dest = ARGV[0]
elsif ARGV.length == 2
	src =  ARGV[0]
	dest =  ARGV[1]
else
	puts "space.rb\n usage: space.rb targetfile\n\tspace.rb sourcefile destfile"
	exit
end

f = open(src,"r")
d = f.read
f.close
d.gsub!(/\n/,"\n ")
f = open(dest,"w")
f.write " "+d
f.close

usage:

menum:utls touta$ ./space.rb 
space.rb
 usage: space.rb targetfile
	space.rb sourcefile destfile

添付ファイル: filespace.py 150件 [詳細] filespace.rb 128件 [詳細] filespace.cpp 166件 [詳細] filespace.exe 122件 [詳細] filespace.bat 145件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-11-22 (日) 19:50:58