1

次のようなものを使用してVxWorksにファイルを書き込もうとしています

saveFd = open("myfile.txt",0x102, 0777 )
oldFd = ioGlobalStdGet(1)
ioGlobalStdSet(1, saveFd)
d 0xfea00100, 4 
ioGlobalStdSet(1, oldFd)

しかし、ファイルの作成/書き込みを実行できません。出力は次のとおりです。

-> saveFd = open("myfile.txt",0x102, 0777 )
saveFd = 0x1fbfb040: value = -1 = 0xffffffff
-> ioGlobalStdSet(1, saveFd)
dvalue = -1 = 0xffffffff

目的の出力を含むファイルを作成するにはどうすればよいですか? 前もって感謝します。

4

1 に答える 1

2

「open」に渡された「flags」パラメータに問題があります。アクセスの正しいタイプ:

O_RDONLY (0)    (or READ)   - open for reading only.
O_WRONLY (1)    (or WRITE)  - open for writing only.
O_RDWR (2)  (or UPDATE) - open for reading and writing.
O_CREAT (0x0200)        - create a file.

open に渡されるフラグは、フラグを「OR」する必要があります。このような:

O_CREAT | O_RDWR = 0x202

このパラメーターを使用すると、次のような結果が得られる場合があります (ホスト ftp が適切に接続されている場合)。

-> saveFd = open("myfile.txt",0x202,0777)
New symbol "saveFd" added to kernel symbol table.
saveFd = 0x8a9bf90: value = 5 = 0x5
->

(ftp ホスト サーバーで書き込み権限が付与されていることを確認してください。)

于 2012-12-20T09:40:43.290 に答える