1

を使用して TFTP サーバーからファイルをダウンロードする小さな関数を作成しています( http://www.vxdev.com/docs/vx55man/vxworks/ref/tftpLib.html ) - 今、自分の tftpGet( VxWork)コマンドはエラーを返していますが、エラーコード 1 の意味がわかりません。投稿されたウェブサイトには次のように書かれています。tftpLib1

ERRNO
S_tftpLib_INVALID_DESCRIPTOR
S_tftpLib_INVALID_ARGUMENT
S_tftpLib_NOT_CONNECTED

1しかし、何が対応するかをどうやって知るのでしょうか? コードの get 部分は次のようになります。

/* Initialize and createlocal file handle */
pFile = fopen("ngfm.bin","wb");
if (pFile != NULL)
    {
    /* Get file from TFTP server and write it to the file descriptor */
    status = tftpGet (pTftpDesc, pFilename, pFile, TFTP_CLIENT);
    printf("GOT %s\n",pFilename);
    }
else
    {
    printf("Error in tftpGet()\nfailed to get %s from %s\nERRNO %d",pFilename,pHost, status);
    }
4

2 に答える 2

1

このコードを試してください:

int status;
if (OK == (status = tftpGet (pTftpDesc, pFilename, fd, TFTP_CLIENT))) {
 printf("tftpGet() successful\n");
} else {
 printf("Error has occurred: %d\n", errno); // errno is where the error is stored
}
于 2013-12-05T18:15:09.703 に答える
0

いいえ、実際の問題は、VxWorks の Linux のような「現在のディレクトリ」のようなものがないため、有効なファイル ポインターを取得できなかったが NULL でしたが、fopen を変更してpFile = fopen("flash:/ngfm.bin","wb");代わりに何かを言う必要がありました。

于 2013-12-05T19:47:24.557 に答える