c从字符串中读取整数运用布尔和指针不能使用其他函数
时间: 2024-02-06 20:08:57 浏览: 66
CFile解析properties文件.txt
可以通过以下代码实现从字符串中读取整数,使用布尔和指针,并且不使用其他函数:
```c
#include <stdio.h>
int str_to_int(char *str, int *num) {
int sign = 1;
if (*str == '-') {
sign = -1;
str++;
}
*num = 0;
while (*str != '\0') {
if (*str >= '0' && *str <= '9') {
*num = (*num * 10) + (*str - '0');
str++;
} else {
return 0;
}
}
*num *= sign;
return 1;
}
int main() {
char str[] = "-12345";
int num;
if (str_to_int(str, &num)) {
printf("The number is %d\n", num);
} else {
printf("Invalid input\n");
}
return 0;
}
```
此代码首先检查字符串的符号,然后一位一位地读取数字字符并将其转换为整数。如果字符串包含非数字字符,则函数返回 0,否则将整数值存储在传入的指针变量中,并返回 1。
请注意,此代码仅处理带符号的整数,如果需要处理其他类型的数字,需要进行修改。
阅读全文