僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
サイズとファイル名を引数にする順番だけは、一応FreeBSDのと同じはず。
gcc -Wall に怒られないように。
#include<stdio.h> #include<unistd.h> #include<sys/types.h> int tra(char *filename, int foo); int atoi(char *bar); int tra(char *filename, int num) { int ret; ret = truncate(filename, num); return ret; } int main(int argc, char *argv[]) { int num ; int ret; char *filename; filename = argv[2]; num = atoi(argv[1]); ret = tra(filename, num); return ret; }
$ rm -rf foo.txt ; touch foo.txt $ ./truncate 300 foo.txt $ ls -alF foo.txt -rw-r--r-- 1 user group 300 2010-12-21 22:34 foo.txt
実のところ、argv[1]以降がないとセグメント違反になることを はじめとして未完成箇所ありまくりだ。
蛇足ながら、人のコードは見ていない。
全部自分の手と頭から出ている。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。