美好的一天!我可以问一下如何在turbo C中将字符串转换为int。 例如:
void comp()
{
FILE *fp;
int i,x;
long int deci;
char bin[8];
char *str=0;
char buf[1024];
fp=fopen("C:\enc.txt","w");
printf("Enter a text: ");
scanf("%[^\n]",str);
init(str);
for(i=0;i<128;i++)
{
if(code[i])
{
printf("'%c': %s\n",i, code[i]);
}
}
我在这里使用字符串制作二进制代码。
encode(str, buf);
deci=decimal(buf);
printf("%li", deci);
fprintf(fp,"%s",deci);
fclose(fp);
}
这是函数decimal()
int decimal(long int decimal)
{
int dc, power;
power=1;
ht=0;
while(decimal>0)
{
dc+=decimal%10*power;
decimal=decimal/10;
power=power*2;
}
return dc;
}
感谢您的回复!
答案 0 :(得分:2)
我假设您正在读取整数流作为字符串,并希望将它们转换为整数。
创建一个新的整数数组。运行循环并将每个字符转换为整数。
int *buf = new int[strlen(str)];
for(int i=0; i < strlen(str)-1; ++i)
{
buf[i] = str[i] - '0';
}
在这里,您将所有整数数据存储到整数数组中。
编辑:
如果要将字符串存储为整数,
long long number = 0;
for(int i = strlen(str) - 2; i >= 0; --i)
{
number *= 10;
number += buf[i];
}
答案 1 :(得分:0)
我知道,我迟到了,但肯定会帮助别人。
使用 stdlib.h中提供的内置函数 atoi
#include <stdlib.h>
char a[2]="10";
int b = atoi(a) + 5;