2016-05-26 8 views
0

私の1つのバッファのいくつかの要素を別のバッファにコピーしたいと思います。私はノードJS内のあるバッファを別のバッファにコピーできません

assn1.copy(assn3,0,40,59) 

assn1は、ソー​​スバッファassn3がターゲットバッファ

ですが、私は次のエラーを取得していますですREPLで、次のコマンドを入力しました。

TypeError: assn1.copy is not a function 
at repl:1:7 
at REPLServer.defaultEval (repl.js:270:27) 
at bound (domain.js:287:14) 
at REPLServer.runBound [as eval] (domain.js:300:12) 
at REPLServer.<anonymous> (repl.js:439:10) 
at emitOne (events.js:95:20) 
at REPLServer.emit (events.js:182:7) 
at REPLServer.Interface._onLine (readline.js:211:10) 
at REPLServer.Interface._line (readline.js:550:8) 
at REPLServer.Interface._ttyWrite (readline.js:827:14) 

この問題を解決するのに役立ちます。

+0

'assn1'は実際に 'バッファ'タイプですか? – NeoAsh

+0

はいです。私はassn1 = arrを使ってそのバッファに配列をコピーした後、var assn1 = new Buffer(100) –

+0

@NeoAshと宣言しました。それ以降はBuffer.isBuffer(assn1)にfalseを与えている –

答えて

0

assn1 = arr;

は実際に配列をバッファにコピーするのではなく、変数を配列オブジェクトに再割り当てしてバッファオブジェクトを失います。

はこのような何か試してみてください:

var a = [1, 2, 8, 9]; 
var buf1 = new Buffer(a); 
var b = [3, 4]; 
new Buffer(b).copy(buf1, 2, 0, 2); 
console.log(buf1); 

を私にこの出力を提供します:

<Buffer 01 02 03 04> 

・ホープ、このことができます。

関連する問題