优化代码 unsigned char *stream; stream = (unsigned char *)data; char *result = NULL; result = strtok((char*)stream, '\n'); while (result != NULL) { printf("%s\n", result); result = strtok(NULL, delims); }
时间: 2023-07-15 10:15:20 浏览: 167
String 优化
这段代码可以优化的地方有以下几点:
1. `stream` 的类型定义可以直接写成 `const unsigned char*`,因为在此函数中 `stream` 并没有被修改。
2. 在调用 `strtok()` 函数时,第二个参数应该是一个字符串,而不是一个字符。所以应该将 `'\n'` 改写成 `"\n"`。
3. 在 `printf()` 函数中,每次输出完毕后应该立即刷新输出缓冲区,以免输出信息不及时。
优化后的代码如下:
```c
const unsigned char* stream = data;
char* result = NULL;
const char* delims = "\n";
result = strtok((char*)stream, delims);
while (result != NULL) {
printf("%s\n", result);
fflush(stdout);
result = strtok(NULL, delims);
}
```
阅读全文