【发布时间】:2014-04-17 00:09:30
【问题描述】:
我正在尝试将变量写入文件,但我不断收到语法错误,或者它没有将其打印到文件中。
我有 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;
}
【问题讨论】:
-
你第一次去可能工作但将数据写成二进制。我们不知道“长度”是如何工作的,所以不可能说它是否真的有效
-
注意:对于
length(0),建议for (i=0;n>=0;i++)。
标签: c file integer system-calls