b***y 发帖数: 2799 | 1 ☆─────────────────────────────────────☆
alfven (rik) 于 (Wed Dec 3 15:56:16 2008) 提到:
我要处理一些c string 的 stream, 举个例子:
char* a = "A20081203B 500MITBBS 2000"
要求把其中的“20081203”,“500”,“2000”转换成整数。我现在做的是memory
copy到另外一个char 数组,然后再用atoi()函数:
char b[9];
b[8] = '\0';
memcpy(&b[0],&a[1],8);//拷贝
int c = atoi(b);
因为要求速度,有没有什么办法可以避免拷贝这一步?比如可以Atoi(&a[1],&a[8])之
类的。
谢谢。。。。。
☆─────────────────────────────────────☆
leonjld (三天打鱼) 于 (Wed Dec 3 16:23:02 2008) 提到:
int c=0
while (p=a+1;isdigit(*p);p++) // |
|