gpt4 book ai didi

c - 如何用C语言写入文件

转载 作者:行者123 更新时间:2023-11-30 17:52:58 25 4
gpt4 key购买 nike

我正在开发一个程序,它将启动和停止伺服系统。我可以从命令行发出以下命令并且它可以工作。 echo 2=120 >/dev/servoblaster 将启动伺服系统。现在我有以下程序

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
FILE *fp;


fp = fopen("/dev/servoblaster", "w");
if (fp == NULL) {
printf("Error opening file\n");
exit(0);
}
fprintf(fp, "2=120");
fclose(fp);
fflush(fp);
return 0;
}

但是当我执行它时什么也没有发生,现在当我尝试 echo 2=120 >/dev/servoblaster 命令时,它会说 Bad input: 2=1202=120 但如果我重复相同的 echo 2=120 >/dev/servoblaster 命令,它将再次工作。如果我尝试执行上述程序,其输出将是我尝试执行 echo 命令时输出的 3 倍,其输出将为 Bad input 2=1202=1202=120 2=120 code> 所以对我来说,该文件似乎尚未完成在我的程序中的写入。有人可以指出我是否遗漏了什么吗?

最佳答案

您需要在命令后添加换行符,就像 echo 那样:

fprintf(fp, "2=120\n");

据推测,伺服驱动器会等到看到换行符后再执行命令。

关于c - 如何用C语言写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15891875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com