我想把一个变量写入一个文件,但是我一直遇到语法错误,或者它没有将它打印到文件中。
我有info.uptime,我想把它打印到“file.txt”,所以我试过了:
int fd = open("file.txt", O_WRONLY);
write(fd, info.uptime, length(info.uptime));
长度功能是我创建的用于查看数字长度的功能。 在档案中,号码消失了,所以我尝试了:
int fd = open("file.txt", O_WRONLY);
write(fd,("%lu" ,info.uptime), length(info.uptime));
现在它给了我太多参数的语法错误。 我该怎么办?
它在ubuntu上
编辑:我只能使用:
#include <unistd.h>
#include <sys/sysinfo.h>
#include <sys/syscall.h>
#include "helper.h"
EDIT2:
int length(int n)
{
int i;
for (i=0;n>=1;i++)
{
n = n/10;
}
return i;
}
答案 0 :(得分:1)
你的语法错了。类型:
man -s 3 write
从命令行。
修改:当问题更新为使用正确的语法时,答案不再有意义。
答案 1 :(得分:0)
您希望系统按您的需要运行。即只是希望功能存在,因为它们是有用的。没有接受文件名的写入功能。没有写函数接受printf格式字符串作为其第二个参数。
你需要
fopen(<name>)
fprintf(...)
fclose
在您添加打开的编辑后,您仍然希望存在不存在的函数(写入采用printf)。如果你想写成字符串,你必须自己转换它,如果你不能使用itoa或xprintf
答案 2 :(得分:0)
您的edit2显示您几乎可以使用它。混合一点
char digit = n%10
在循环中你将完成。您是否希望我们实际上只为您编写代码。它真的是cs101级别的东西