我有一个char变量,例如a ='123'或b ='\ t123'。那么如何将它们转换为整数? 我的问题是读取表单文本文件包含多行字符,如a和b。我想将它们转换并保存到数组。 这是我的代码:
int main(){
FILE *file_pid;
int i = 0;
int number[100];
char line[20];
file_pid = fopen("pid.txt","r");
while(fgets(line, sizeof line, file_pid) != NULL){
number[i] = atoi(line);
i++;
}
}
编辑:我解决了我的问题。非常感谢!
答案 0 :(得分:0)
您可以使用atoi()
函数将字符串直接转换为整数。
C库函数:
int atoi(const char *str)
将字符串参数str转换为整数。
此函数返回转换后的整数作为int值。如果无法执行有效的转换,它将返回零。
好一点是它会忽略空格。
您可能不想在字符变量中存储多字符字符常量。使用字符数组代替示例:
char c[] = " 123";
printf("%d\n", atoi(c));
答案 1 :(得分:-1)
C参考函数atoi()将字符串转换为整数
stdlib的此功能会将字符串转换为整数。并且它将忽略空格。
atoi()的用法:
int atoi ( const char * str );
代码示例::-
#include<stdio.h>
#include<stdlib.h>
int main(){
int i;
char number [255];
printf("Enter a number: ");
fgets(number, 255, stdin);
i = atoi(number);
printf("You Entered %d", i);
return 0;
}