0
はなぜ、この行いますLinuxのシンボリックリンク()関数
#include <unistd.h>
#include <stdio.h>
#include <sys/stat.h>
int main(void) {
const char filea[] = "../test/hunspell";
const char fileb[] = "testa/dictionaries";
int returnr;
returnr = symlink(filea, fileb);
printf("%d\n", returnr);
return returnr;
}
戻り0を、私はこの取得:
[[email protected] test]$ tree
.
├── symtest
├── test
├── testa
│ └── dictionaries -> ../test/hunspell
└── test.c
[[email protected] test]$ pwd
/home/gala/testing/test
しかし、この:
#include <unistd.h>
#include <stdio.h>
#include <sys/stat.h>
int main(void) {
const char filea[] = "/home/gala/testing/test/hunspell";
const char fileb[] = "/home/gala/testing/testa/dictionaries";
int returnr;
returnr = symlink(filea, fileb);
printf("%d\n", returnr);
return returnr;
}
戻り値-1失敗します。
なぜc symlink()関数は絶対パスでは失敗しますが、相対パスでは機能しますか?私は行方不明のものがありますか?
なぜ壊れていますか?
「-1」は何を意味していますか? –
オンラインで参考文献が見つかりません。おそらく整数を指し示す「静的」Stringsを見つけることができますが、どこを見失うかはわかります。私はやっていません。Javaだけで、libcとLinuxの関数をJavaの内部で使用するためにCライブラリブリッジを実行しています。 – Gala
'man symlink'、エラーコードを見て、あなたのソースツリーでその定義を見つけるか、値。 –