欢迎访问 Forcal数学软件

FORCAL标准 字符串动态库FcString

目  录

1 什么是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加载。

2 字符串函数 [返回页首]

[返回页首][整数函数、实数函数] 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:不是一维字符数组。

 

3 正则表达式函数 [返回页首]

[返回页首][整数函数、实数函数] string::(... ...):

 


版权所有© Forcal数学软件 2002-2009,保留所有权利
E-mail: forcal@sina.com
  QQ:630715621
最近更新: 2009年09月20日