c - Linux写整数

标签 c linux

我想从文件中读取一个数字并增加数字而不是将其写入文件。我想使用读/写而不是 fscanf/fprintf。我试图将整数更改为字符串,但我在 Google 上发现 linux 中不存在 itoa。这是我的代码:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

main(int argc,char *argv[]){
    int f;
    f=open(argv[1],O_RDWR);
    char c[10];
    read(f,c,10);
    int ceva=atoi(c);
    printf("%d ",ceva);
    ceva++;
    //itoa (ceva,c,10);
    lseek(f,0,SEEK_SET);
    write(f,ceva,sizeof(int));
}

最佳答案

你对 fprintf 有什么看法?您需要以某种方式将整数转换为字符串。另一种选择是使用 snprintf 将整数转换为字符串,然后 write 字符串。

关于c - Linux写整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23448025/

相关文章:

c - 为什么输出始终为零(0.0000)?

c - 创建列表并打印其元素时出错

linux - Ubuntu 10.04.3 LTS 上的 libsdl2-image-2.0-0

无法创建命名管道

c++ - 如何通过键盘布局获取 XLib 键的字符?

检查值是否在未定义的枚举中?

c - 限制 malloc() 的虚拟内存空间

c - 当 SIGINT 信号被忽略时打印字符串

linux - 使用 hcidump 获取 RSSI

linux - 在 32 位 debian 系统上生成 64 位代码