标题: 把内容上有一定规律性的较大的文本分成多个小文本?
[打印本页]
作者: zzhh612
时间: 2007-3-29 08:25
标题: 把内容上有一定规律性的较大的文本分成多个小文本?
我有一个较大的文本如下:
//@函数名称: abs
//函数原型: int abs(int x);
//函数功能: 求整数x的绝对值
//函数返回: 计算结果
//参数说明:
//所属文件: <math.h>,<stdlib.h>
//使用范例:
#include <stdio.h>
#include <math.h>
int main()
{
int number=-1234;
printf("number: %d absolute value: %d",number,abs(number));
return 0;
}
//@函数名称: fabs
//函数原型: double fabs(double x);
//函数功能: 求x的绝对值.
//函数返回: 计算结果
//参数说明:
//所属文件: <math.h>
//使用范例:
#include <stdio.h>
#include <math.h>
int main()
{
float number=-1234.0;
printf("number: %f absolute value: %f",number,fabs(number));
return 0;
}
//@函数名称: sin
//函数原型: double sin(double x);
//函数功能: 计算sinx的值.正弦函数
//函数返回: 计算结果
//参数说明: 单位为弧度
//所属文件: <math.h>
//使用范例:
#include <stdio.h>
#include <math.h>
int main()
{
double result,x=0.5;
result=sin(x);
printf("The sin() of %lf is %lf",x,result);
return 0;
}
.........
我想要以"//@函数名称"之前为界,将一个个C语言的函数说明分成单独的以函数名为文件名的文本文件,
因数量较多,想用批处理完成,但不知如何着手,望高手指点?
[
Last edited by zzhh612 on 2007-3-29 at 09:49 AM ]
作者: jmz573515
时间: 2007-3-29 12:01
On Error Resume Next
set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile("a.txt",1)
if err.number<>0 then
err.clear
msgbox "对不起,没有找到a.txt文件!",4096,"错误"
wscript.quit
end if
do while file.AtEndOfStream <> True
m=file.readline
if left(m,7)="//@函数名称" then
set cfile=fso.createtextfile(trim(mid(m,9)) & ".txt",true)
end if
cfile.writeline m
loop
file.close
msgbox "文件分割完成!",4096,"提示"
作者: zzhh612
时间: 2007-3-29 14:54
楼上的VBScript功力不错,我试了下,还可以,不知这种事DOS的批处理能完成吗.DOS要基础一些,我是想在运用中得到学习.谢了.
[
Last edited by zzhh612 on 2007-3-29 at 03:03 PM ]
作者: ccwan
时间: 2007-3-29 23:52
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1*" %%i in (test.txt) do (
set var=%%i
set str=%%j
if "!var:~3,4!"=="函数名称" (set lxm=%%j&>>!lxm!.txt echo !var! !str!
) else (
>>!lxm!.txt echo !var! !str!
)
)
格式略有变化,主要是空格。
作者: ccwan
时间: 2007-3-30 03:01
代9527兄发出他写的代码,非常符合楼主要的代码格式。
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1* delims=@" %%a in (test.txt) do (
if "%%a" equ "//" (
call:P "%%b"
) else (
>>!a! echo %%a%%b
)
)
goto:eof
:P
for /f "tokens=1* delims=: " %%x in (%1) do set a=%%y.txt&>>!a! echo %%a%%b
goto:eof
作者: zzhh612
时间: 2007-3-30 10:01
标题: ccwan老兄代发的代码也不错,满意.
jmz573515的代码和ccwan老兄代发的代码达到了相同的效果.
真是异曲同工.看来我要学的路还长,"路漫漫其修远兮,吾将上下而求索...