更新日期:2024年09月11日
rstol() 函数将以空终止的字符串转换为 long integer 值。
语法
mint rstol(string, long_int)
char *string;
mlong *long_int;
string
指向以空终止的字符串的指针。
long_int
指向保存转换了的值的 mlong 值的指针。
用法
值的合法范围为 -2,147,483,647 - 2,147,483,647。值 -2,147,483,648 不是有效的,因为
此值为指示空的保留值。
返回代码
=0
转换成功。
!=0
转换失败。
示例
此样例程序在 demo 目录中的 rstol.ec 文件中。
/*
GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 904 -
* rstol.ec *
The following program tries to convert three strings to longs. It displays the result of each
attempt.
*/
#include
EXEC SQL include sqltypes;
main()
{
mint err;
mlong l;
printf("RSTOL Sample ESQL Program running.\n\n");
l = 0;
printf("Converting String 'abc':\n");
if((err = rstol("abc", &l)) == 0)
printf("\tResult = %ld\n\n", l);
else
printf("\tError %d in conversion of string #1\n\n", err);
l = 0;
printf("Converting String '2147483646':\n");
if((err = rstol("2147483646", &l)) == 0)
printf("\tResult = %ld\n\n", l);
else
printf("\tError %d in conversion of string #2\n\n", err);
l = 0;
printf("Converting String '':\n");
GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 905 -
if((err = rstol("", &l)) == 0)
{
if(risnull(CLONGTYPE, (char *) &l))
printf("\tResult = NULL\n\n", l);
else
printf("\tResult = %ld\n\n", l);
}
else
printf("\tError %d in conversion of string #3\n\n", err);
printf("\nRSTOL Sample Program over.\n\n");
}
输出
RSTOL Sample ESQL Program running.
Converting String 'abc':
Error -1213 in conversion of string #1
Converting String '2147483646':
Result = 2147483646
Converting String '':
Result = NULL
RSTOL Sample Program over.