在 C 中使用空白 space 将 char 转换为 int
Convert char to int with blank space in C
我有一个 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++;
}
}
已编辑:我解决了我的问题。非常感谢!
您可以使用atoi()
函数直接将字符串转换为整数。
C库函数:
int atoi(const char *str)
将字符串参数 str 转换为整数。
此函数 returns 将转换后的整数作为 int 值。如果无法执行有效转换,则它 returns 为零。
好的部分是它忽略了空格。
您可能不想将多字符字符常量存储在字符变量中。使用字符数组代替示例:
char c[] = " 123";
printf("%d\n", atoi(c));
我有一个 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++;
}
}
已编辑:我解决了我的问题。非常感谢!
您可以使用atoi()
函数直接将字符串转换为整数。
C库函数:
int atoi(const char *str)
将字符串参数 str 转换为整数。
此函数 returns 将转换后的整数作为 int 值。如果无法执行有效转换,则它 returns 为零。
好的部分是它忽略了空格。
您可能不想将多字符字符常量存储在字符变量中。使用字符数组代替示例:
char c[] = " 123";
printf("%d\n", atoi(c));