我正在寫一個變量到一個文件,但我不斷收到語法錯誤,或者它不會將它打印到文件中。在C中編寫系統調用,如何將整數值打印到文件
我有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;
}
你第一次去可能工作,但寫的數據爲二進制。我們不知道「長度」是如何工作的,所以不可能說它是否真的起作用。 – pm100
注意:對於'length(0)',建議'for(i = 0; n> = 0; i ++)'。 – chux