0

unsignedの代わりに誤って使用してしまった非常に大きなコードがありuint64_tます。この失敗により、私のコードは 4 バイトを超える大きな値に対しては機能しません。ここで、この間違いを修正したいと思います...しかし、各ファイル (540 個のファイルがあります) に移動unsignedして. に置き換えることは不可能ですuint64_t。私のためにそれを行う可能性のあるLinuxコマンドまたは自動化された方法はありますか。

unsigned単語をに置き換えたいだけですuint64_tunsignedFunctionのような言葉を に置き換えたくありませんuint64_t

編集: 次の形式の関数に置き換えると:

   static inline unsigned readUint32Aligned(const unsigned char* data) { return toHost(*reinterpret_cast<const unsigned*>(data)); }

変換された関数は次のとおりです。

   static inline uint64_t readUint32Aligned(const uint64_t char* data) { return toHost(*reinterpret_cast<const uint32_t*>(data)); }

エラーが表示されます:

エラー: 'data' はこのスコープで宣言されていません

uint64_t上記の形式の関数で機能する可能性のある、置換のためにできること以外に何かありますか?

申し訳ありませんが、おそらくタイプミスではありません。

4

1 に答える 1

2

使い方sedとパターンs/\bunsigned\b/uint64_t/g

\b興味深い点です。正規表現では、単語の境界に一致します。

于 2013-11-01T13:55:19.977 に答える