数字转化为字符串,sprintf使用(弱菜笔记) 注明:以下例程均在code::bolcks(编译器GNU GCC)下运行通过,如果读者不能正确运行,请尝试调整编译器为GNU或GCC。 我们通过几个例子认识sprintf的用法,由此也初窥数字转化为字符串中数据的门径。 最简单直接的方法:一个数字加上0的ASC2码就得到对应字符的ASC2码。 //Example #1 #include <stdio.h> int main() { int a[3]={0, 1, 2}; char s[4]; for(int i = 0; i<3; i++) s[i] = a[i] + ‘0’; s[3] = ‘0’; puts(s); } 输出:012 更简洁的方法是使用sprintf,“sprintf”可以理解为“打印到字符串的函数”。 //Example #2 #include <stdio.h> int main() { char s[10]; int x, y; while(scanf(“%d%d”, &x, &y) != EOF) { sprintf(s, “%d%d”, x, y);//将x,y储存的数据转化为字符串s中的数据 puts(s); } return 0; } 输入:1 2 输出:12 在上例中,语句 sprintf(s, “%d%d”, x, y); 我理解为是将“%d%d”转化为字符串s的内容,而“%d%d”就是“12”。 以下还有一个例子,摘自C++ reference //Example #3 #include <stdio.h> int main () { char buffer[50]; int n, a=5, b=3; //建立字符串buffer,n是buffer的长度,包括空格但不包括‘0’ n=sprintf (buffer, “%d plus %d is %d”, a, b, a+b); printf (“[%s] is a %d char long string ”,buffer,n); return 0; } 输出:[5 plus 3 is 8] is a 13 char long string
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/72503.html