|
|
发表于 2005-9-27 22:10:56
|
显示全部楼层
用不着memset...
char buffer[BUFSIZ];
int n;
n = snprintf(buffer, BUFSIZ, "%d", 1234);
buffer[n] = 0;
...
snprintf is much safer than sprintf
Post by Illidan
sprintf可以接收数量不同的参数,三个参数就够用了。多乎哉?不多也。
有时候会有这种情况:
- char str[MAX_LEN];
- memset(str, 0, sizeof (str));
- strncat(str, some_str, strlen(some_str));
- //这时要往str里写一个int型对应的char型,如'918',怎么用sprintf呢?我一般这么作:
- char temp[ANOTHER_LEN];
- memset(temp, 0, sizeof(temp));
- sprintf(temp, ”%d", 1931);
- strncat(str, temp, strlen(temp));
- //略显烦琐。各位有何高见改进?
- //如果有itoa,那就直接 strcat(str, itoa(int_var)); hoho
复制代码 |
|