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

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


#br
** C++ [#v5c8f3e6]

 // 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は同じフォルダ内にいれておくといいかも


#br
** Python [#p6de2df4]
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

#br
** Ruby [#l894c86d]
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



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS