FORCAL标准 字符串动态库FcString
目 录
|
2 字符串函数 |
|
| string::setstrlen | 设置字符串缓冲区大小 |
| string::fstons | 将Forcal远程静态字符串传送到近程静态字符串 |
| string::nstofs | 将Forcal近程静态字符串传送到远程静态字符串 |
| string::strtowcs | 将ANSI字符串转换为Unicode字符串 |
| string::wcstostr | 将Unicode字符串转换为ANSI字符串 |
| string::strcpy | 复制ANSI字符串 |
| string::wcscpy | 复制Unicode字符串 |
| string::strcpys | 将Forcal近程静态字符串复制到ANSI字符串 |
| string::wcscpys | 将Forcal近程静态字符串复制到Unicode字符串 |
| string::strcat | 连接ANSI字符串 |
| string::wcscat | 连接Unicode字符串 |
| string::strcats | 将Forcal近程静态字符串连接到ANSI字符串的后面 |
| string::wcscats | 将Forcal近程静态字符串连接到Unicode字符串的后面 |
| string::strcati | 将一个整数连接到ANSI字符串的后面 |
| string::wcscati | 将一个整数连接到Unicode字符串的后面 |
| string::strcatr | 将一个实数连接到ANSI字符串的后面 |
| string::wcscatr | 将一个实数连接到Unicode字符串的后面 |
| string::strcmp | 比较ANSI字符串 |
| string::wcscmp | 比较Unicode字符串 |
| string::strlen | 获得ANSI字符串长度 |
| string::wcslen | 获得Unicode字符串长度 |
| string:: | |
|
3 正则表达式函数 |
|
| string:: | |
1 什么是FcString [返回页首]
FcString32W.dll是一个Forcal标准字符串扩展动态库,主要包含各种字符串操作函数,这些函数是针对FcData字符串或Forcal静态字符串进行操作的。
在函数功能和命名上,基本与C/C++函数一致:ANSI字符串函数以str开头,Unicode字符串函数以wcs开头,函数基本上是成对出现的。此外还扩充了一些Forcal特有的字符串函数。
在使用FcString中的字符串函数时,通常不需要考虑字符串缓冲区的大小,缓冲区不够用时,FcString会自动增加缓冲区的大小。例如字符串相加:
str1.wcscpys("f(").wcscati(k).wcscats(")=12"); //str1是FcData字符串指针,k是一个整数,若k=2,执行完后str1中的字符串为"f(2)=12",不需要考虑str1的缓冲区大小
可以看出,在对字符串连续使用函数进行操作时,Forcal的函数参数运算符“.”非常有用,增强了代码的可读性。
在FcString中的函数是通过二级函数命名空间“string”输出的,所有函数均具有类似“string::strcat(...)”的格式。使用!using("string");可简化FcString中的函数访问。
FcString32W.dll需要FcData32W.dll的支持,FcData32W.dll要先于FcString32W.dll加载。
[返回页首][整数函数、实数函数] string::setstrlen(pstr,len): 设置字符串缓冲区大小
pstr:FcData一维字符串指针,只能是char_s或wchar_s(string)。
len:字符串缓冲区大小。
返回值:pstr。
说明:该函数重新设置字符串缓冲区大小,若扩大了缓冲区,原先的字符串数据将被保留,若缩小了缓冲区,原先的字符串数据将被截断。虽然FcString会自动增加字符串的缓冲区以满足需求,但使用该函数可预先设置足够的缓冲区,提高了运行效率。使用该函数也可根据需要缩小缓冲区,释放多余的内存。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:内存错误。
[返回页首][整数函数、实数函数] string::fstons(ForType,ForHandle,sstr,dstr,len):将Forcal远程静态字符串传送到近程静态字符串
ForType:表达式类型。ForType=1表示整数表达式;ForType=2表示实数表达式;ForType=3表示复数表达式;ForType取其他值都是非法的。
ForHandle:表达式句柄。
sstr:Forcal远程静态字符串地址。
dstr:Forcal近程静态字符串地址。
len:Forcal近程静态字符串缓冲区大小。
返回值:0。
运行错误:1:非法的表达式类型;2:表达式句柄非法或者远程静态字符串地址非法;3:近程静态字符串地址非法;4:近程静态字符串缓冲区太小。
[例子1]
a() = "实数表达式中的字符串";
i:b(:s) = s="\[80]", string::fstons[2,HFor("a",2),a().rtoi(),s,80], printff[s];
[例子2]
a() = "实数表达式中的字符串";
b(:s) = s="\[80]", string::fstons[2,HFor("a"),a(),s,80], printff[s];
[返回页首][整数函数、实数函数] string::nstofs(sstr,ForType,ForHandle,dstr,dstr,len): 将Forcal近程静态字符串传送到远程静态字符串
sstr:Forcal近程静态字符串地址。
ForType:表达式类型。ForType=1表示整数表达式;ForType=2表示实数表达式;ForType=3表示复数表达式;ForType取其他值都是非法的。
ForHandle:表达式句柄。
dstr:Forcal远程静态字符串地址。
len:Forcal远程静态字符串缓冲区大小。
返回值:0。
运行错误:1:近程静态字符串地址非法;2:非法的表达式类型;3:表达式句柄非法或者远程静态字符串地址非法;4:远程静态字符串缓冲区太小。
[例子]
a() = "\[80]";
b(:s) = s="Forcal近程静态字符串", string::nstofs[s,2,HFor("a"),a(),80], printff["{1,fs}",2,HFor("a"),a()];
[返回页首][整数函数、实数函数] string::strtowcs(pstr,pwcs): 将ANSI字符串转换为Unicode字符串
pstr:FcData一维char_s字符串指针。
pwcs:FcData一维wchar_s(string)字符串指针。
返回值:返回转换后Unicode字符串的长度。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:内存错误。
[例子]
[返回页首][整数函数、实数函数] string::wcstostr(pwcs,pstr): 将Unicode字符串转换为ANSI字符串
pwcs:FcData一维wchar_s(string)字符串指针。
pstr:FcData一维char_s字符串指针。
返回值:返回转换后ANSI字符串的长度。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:内存错误。
[返回页首][整数函数、实数函数] string::strcpy(pdstr,psstr): 复制ANSI字符串
pdstr:FcData一维目的char_s字符串指针。
psstr:FcData一维源char_s字符串指针。
返回值:pdstr。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:内存错误。
[返回页首][整数函数、实数函数] string::wcscpy(pdwcs,pswcs): 复制Unicode字符串
pdwcs:FcData一维目的wchar_s(string)字符串指针。
pswcs:FcData一维源wchar_s(string)字符串指针。
返回值:pdwcs。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:内存错误。
[返回页首][整数函数、实数函数] string::strcpys(pdstr,"hello"): 将Forcal近程静态字符串复制到ANSI字符串
pdstr:FcData一维目的char_s字符串指针。
返回值:pdstr。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:字符串地址非法;4:内存错误。
[例子]
[返回页首][整数函数、实数函数] string::wcscpys(pdwcs,"hello"): 将Forcal近程静态字符串复制到Unicode字符串
pdwcs:FcData一维目的wchar_s(string)字符串指针。
返回值:pdwcs。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:字符串地址非法;4:内存错误。
[返回页首][整数函数、实数函数] string::strcat(pdstr,psstr):连接ANSI字符串
pdstr:FcData一维目的char_s字符串指针。
psstr:FcData一维源char_s字符串指针。
返回值:pdstr。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:内存错误。
[返回页首][整数函数、实数函数] string::wcscat(pdwcs,pswcs):连接Unicode字符串
pdwcs:FcData一维目的wchar_s(string)字符串指针。
pswcs:FcData一维源wchar_s(string)字符串指针。
返回值:pdwcs。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:内存错误。
[返回页首][整数函数、实数函数] string::strcats(pdstr,"hello"):将Forcal近程静态字符串连接到ANSI字符串的后面
pdstr:FcData一维目的char_s字符串指针。
返回值:pdstr。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:字符串地址非法;4:内存错误。
[例子]
!using["string"];
i:a(:str,wcs) ={
str=new[char_s,2], wcs=new[wchar_s,2],
str.strcpys["数字"].strcati[80].strcats["是一个整数。\r\n"],
str.strtowcs[wcs],
printff{"{1,s}",wcs},
delete[str],delete[wcs]
};
[返回页首][整数函数、实数函数] string::wcscats(pdwcs,"hello"):将Forcal近程静态字符串连接到Unicode字符串的后面
pdwcs:FcData一维wchar_s(string)字符串指针。
返回值:pdwcs。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:字符串地址非法;4:内存错误。
[返回页首][整数函数、实数函数] string::strcati(pdstr,k):将一个整数连接到ANSI字符串的后面
pdstr:FcData一维目的char_s字符串指针。
k:整数。
返回值:pdstr。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:内存错误。
[例子]
[返回页首][整数函数、实数函数] string::wcscati(pdwcs,k):将一个整数连接到Unicode字符串的后面
pdwcs:FcData一维wchar_s(string)字符串指针。
k:整数。
返回值:pdwcs。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:内存错误。
[返回页首][整数函数、实数函数] string::strcatr(pdstr,r):将一个实数连接到ANSI字符串的后面
pdstr:FcData一维目的char_s字符串指针。
r:实数。
返回值:pdstr。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:内存错误。
[返回页首][整数函数、实数函数] string::wcscatr(pdwcs,r):将一个实数连接到Unicode字符串的后面
pdwcs:FcData一维wchar_s(string)字符串指针。
r:实数。
返回值:pdwcs。
运行错误:1:非法的字符串指针;2:不是一维字符数组;3:内存错误。
[返回页首][整数函数、实数函数] string::strcmp(pdstr,psstr):比较ANSI字符串
pdstr,psstr:FcData一维目的char_s字符串指针。
返回值:
返回值为0表示两个字符串相等;返回值小于0表示按照字母顺序,第一个字符串小于第二个字符串;返回值大于0表示按照字母顺序,第一个字符串大于第二个字符串。
运行错误:1:非法的字符串指针;2:不是一维字符数组。
[返回页首][整数函数、实数函数] string::wcscmp(pdwcs,pswcs):比较Unicode字符串
pdwcs,pswcs:FcData一维wchar_s(string)字符串指针。
返回值:
返回值为0表示两个字符串相等;返回值小于0表示按照字母顺序,第一个字符串小于第二个字符串;返回值大于0表示按照字母顺序,第一个字符串大于第二个字符串。
运行错误:1:非法的字符串指针;2:不是一维字符数组。
[返回页首][整数函数、实数函数] string::strlen(pstr):获得ANSI字符串长度
pstr:FcData一维目的char_s字符串指针。
运行错误:1:非法的字符串指针;2:不是一维字符数组。
[返回页首][整数函数、实数函数] string::wcslen(pwcs):获得Unicode字符串长度
pwcs:FcData一维目的wchar_s(string)字符串指针。
运行错误:1:非法的字符串指针;2:不是一维字符数组。
[返回页首][整数函数、实数函数] string::(... ...):
版权所有© Forcal数学软件
2002-2009,保留所有权利
E-mail: forcal@sina.com
QQ:630715621
最近更新:
2009年09月20日