linux c 字符串转int,将Linux C Char数组转换为Int

需要一些关于这个的建议,因为我正在努力实现并无法弄明白.

我有一个文件,在PC上更新,以指示系统运行和运行的时间.我正在写一个非常简单的linux控制台应用程序(最终将成为一个nagios插件).读取此文件并根据文件中的内容进行响应.

我是Linux上编程和使用C的全新手,所以请耐心等待,如果你能解释任何答案,我将非常感激.

基本上我想将包含5个字符的char数组转换为整数,但数组中的第5个字符始终是一个字母.所以从技术上讲,我想要做的就是将数组中的前4个字符转换为整数…如何?我试过多种方法但没有成功,我的问题是,目前我对语言没有很好的掌握,所以对它能做什么和不能做什么没有真正的想法.

这是我的程序的来源.

基本上buf数组将保存从文件中取出的字符串,看起来像这样

3455Y(数字将是随机的,但总是4个字符长).

很抱歉代码格式不佳,但我无法得到这个愚蠢的爱情窗口,也没有金钱来正确格式化….

include

include

include

include

include

include

define COPYMODE 0644

int main(int argc, char *argv[])

{

int i, nRead, fd;

int source;

int STATE_OK = 0;

int STATE_WARNING = 1;

int STATE_CRITICAL = 2;

int STATE_UNKNOWN = 3;

int system_paused = 0;

char buf[5];

int testnumber;

if((fd = open(argv[1], O_RDONLY)) == -1)

{

printf("failed open : %s", argv[1]);

return STATE_UNKNOWN;

}

else

{

nRead = read(fd, buf, 5);

}

close(source);

if (buf[4] == 'P')

{

printf("Software Paused");

return STATE_WARNING;

}

else

{

return STATE_OK;

}

time_t ltime; /* calendar time */

struct tm *Tm;

ltime=time(NULL); /* get current cal time */

Tm=localtime(&ltime);

int test;

test = Tm->tm_hour + Tm->tm_min;

printf("%d", test);

printf("%d", strtoi(buf));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值