首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将有符号字符转换为c中的整型

将有符号字符转换为c中的整型
EN

Stack Overflow用户
提问于 2018-08-29 05:26:44
回答 1查看 74关注 0票数 -1

我在将带符号的字符串转换为int时遇到问题。

代码语言:javascript
复制
char *crn1, *crn2, *credit1, credit2;
char course1, course2;

crn1=strtok(course1,"/");
credit1=strtok(NULL,"/");

crn2 = strtok(course2,"/");
credit2 = strtok(NULL,"/");

我正在尝试将带符号的字符credit1或credit2转换为整数,以便稍后在代码中使用。我要么得到一个巨大的数字,要么得到一个错误。

EN

回答 1

Stack Overflow用户

发布于 2018-08-29 06:44:30

使用strtol (atoi的更安全版本)。

代码语言:javascript
复制
#include <stdlib.h>
#include <stdio.h>

int main() {
  char *str = "5";
  int n;
  n = strtol(str, NULL, 10);
  printf("n+1 is %d\n", n+1);
}

使用atoi

代码语言:javascript
复制
#include <stdlib.h>
#include <stdio.h>

int main() {
  char *str = "1";
  int n;
  n = atoi(str);
  printf("n+1 is %d\n", n+1);
}

如果不是将字符串中的数字转换为整数,而是使用字符的数值,则可以:

代码语言:javascript
复制
#include <stdio.h>

int main() {
    char c = 'a';
    printf("ascii code of %c is %hhu\n", c, c);
    printf("after %c is %c with ascii code %u", c, c+1, c+1);
    return 0;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52066414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档