エラーを取得、のmemcpyを使用してchar型のポインタをコピーしようとしています
質問
私はchar型のポインタをコピーしたいので、私はこれを行うにしようとしていますので...友人に尋ね、彼はのmemcpyを使用するように言わます:
charFilenameAndPath=strtok(filename,".");
memcpy=(charFilename,charFilenameAndPath, sizeof(charFilenameAndPath));
は、コンパイラがこれを吐き出しています
uTrackSpheres.cpp:176: error: assignment of function ‘void* memcpy(void*, const void*, size_t)’ uTrackSpheres.cpp:176: error: cannot convert ‘unsigned int’ to ‘void*(void*, const void*, size_t)throw ()’ in assignment
私も代わりはsizeof
のstrlenを使用してみました解決
あなたの2行目:
memcpy=(charFilename,charFilenameAndPath, sizeof(charFilenameAndPath));
スプリアス=
記号があります。
は、あなたの呼び出しが正しいとにかくではありません。 charFilenameAndPath
はstrtok()
からの戻り値であるので、char *
でなければなりません。だから、あなたはsizeof(char *)
にcharFilename
バイトをコピーしている、あなたはおそらくstrlen(charFilenameAndPath)+1
代わりにバイトしたい(またはあなたがstrcpy()
を使用することができます)。いずれにせよ、あなたはstrtok()
はNULL
を返しませんでしたし、そのcharFilename
は十分なスペースを持っていることを確認する必要があります。
他のヒント
memcpy
は=
が続いているとあってはなりません。エラーメッセージは、あなたが何をしたいのかないのシンボルmemcpy
、新しい値を代入しようとしていると言います。
所属していません StackOverflow