首页 > 解决方案 > 如何将整数插入内存块?

问题描述

有什么方法可以将整数放入已知大小的字符串中,如果可以,我该如何读取它?例如将 (int a=10) 转换为 (char string[200])。

标签: cmemory

解决方案


有什么方法可以将整数放入已知大小的字符串中,如果可以,我该如何读取它?例如,将 ( int a=10) 转换为 ( char string[200])。

是的,有使用字符串版本的printf

snprinf(string,200,"%d",a);

如果您想手动执行上述操作,也可以使用 div 和 mod 10 的循环生成字符串。有关此示例的示例,请参见另一个答案https://stackoverflow.com/a/49615617/391691

从字符串中获取您的 int sscanfatoi或者atol可以使用

#include <stdio.h>
#include <stdlib.h>

void main(){
   int a;
   char string[200];


   a = 10;
   snprintf(string,200,"%d",a);
   printf("As string:%s As int:%d\n",string,atoi(string));
}

我仍然不清楚这个问题的解释,与以前的答案相比,这代表了对该问题的另一种解释https://stackoverflow.com/a/58584291/391691


推荐阅读