|
zzhh612
中级用户
积分 278
发帖 103
注册 2006-10-21
状态 离线
|
『楼 主』:
把内容上有一定规律性的较大的文本分成多个小文本?
我有一个较大的文本如下:
//@函数名称: 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 ]
|
|
2007-3-29 08:25 |
|
|
jmz573515
银牌会员
积分 1212
发帖 464
注册 2006-12-13
状态 离线
|
『第
2 楼』:
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,"提示"
|
|
2007-3-29 12:01 |
|
|
zzhh612
中级用户
积分 278
发帖 103
注册 2006-10-21
状态 离线
|
『第
3 楼』:
楼上的VBScript功力不错,我试了下,还可以,不知这种事DOS的批处理能完成吗.DOS要基础一些,我是想在运用中得到学习.谢了.
[ Last edited by zzhh612 on 2007-3-29 at 03:03 PM ]
|
|
2007-3-29 14:54 |
|
|
ccwan
金牌会员
积分 2725
发帖 1160
注册 2006-9-23 来自 河北廊坊
状态 离线
|
『第
4 楼』:
@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!
)
) 格式略有变化,主要是空格。
|
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。 |
|
2007-3-29 23:52 |
|
|
ccwan
金牌会员
积分 2725
发帖 1160
注册 2006-9-23 来自 河北廊坊
状态 离线
|
『第
5 楼』:
代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
|
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。 |
|
2007-3-30 03:01 |
|
|
zzhh612
中级用户
积分 278
发帖 103
注册 2006-10-21
状态 离线
|
『第
6 楼』:
ccwan老兄代发的代码也不错,满意.
jmz573515的代码和ccwan老兄代发的代码达到了相同的效果.
真是异曲同工.看来我要学的路还长,"路漫漫其修远兮,吾将上下而求索...
|
|
2007-3-30 10:01 |
|