strncpy()を使用してMFCで文字列をコピーすると、データが切り捨てられます

プラサント

バッファオーバーフローのコベリティの問題を修正するために、strncpy()使用してリストアイテムをコピーしました。リストアイテムは、ある行から別の行にドラッグアンドドロップする必要があります。したがって、コピーする必要のある文字列には、「\ n」、「\ t」、および「」の文字が含まれます。

以下のコードを使用しました。

for (int nColumn = 1; nColumn < nColumns; nColumn++)
{
    strncpy(lvItem.pszText, (LPCTSTR)(GetItemText(nDragIndex, nColumn)), sizeof(lvItem.pszText)-1);
    lvItem.pszText[sizeof(lvItem.pszText)] = '\0';
    lvItem.iSubItem = nColumn;
    SetItem(&lvItem);
}

コベリティスキャンは合格しましたが、一部の列のデータが切り捨てられます。strcpy_sメソッドの使用について聞いたことがありますが、利用できません。誰かが私が問題を解決するのを手伝ってもらえますか?

xMRi

あなたのコードは間違っていて、あなたが期待することをしません。lvItem.pszTextはポインタであり、プロジェクトの種類に応じて、それぞれ4バイトの固定サイズになります。したがって、sizeof演算子によって切り捨てが発生します。

LVITEMこのように使用するには、これがあなたによって定義されたバッファが必要です!

を使用する場合はGetIemTextCListCtrl :: SetItemTextを使用することもできますこの関数はすべての制限を処理します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

数値を乗算するときに列のデータが切り捨てられました

分類Dev

strncpyを使用して文字列をコピーすると、出力にガベージ値が発生します

分類Dev

Enterprise Architect Source Importは、文字列またはバイナリデータが切り捨てられることを警告します

分類Dev

テキストをvarchar(max)パラメータと比較すると、文字列またはバイナリデータが切り捨てられます

分類Dev

データが切り捨てられるのはなぜですか?警告| 1265 | 列のデータが切り捨てられました

分類Dev

Javaを使用してMysqlデータベースで「列のデータが切り捨てられた」を回避する方法

分類Dev

文字列を切り捨てると、numpyndarrayが例外をスローします

分類Dev

文字列変換で切り捨てられているバイナリデータを移動する

分類Dev

SQLサーバー、SQLサーバーでキャストと浮動小数点を使用しているときに切り捨てられるデータdecimal(38,35)の1つの列があります

分類Dev

「PDOException」とメッセージ「SQLSTATE [22001]:文字列データ、右側が切り捨てられています:0

分類Dev

挿入しようとすると、エラー、文字列、またはバイナリデータが切り捨てられます

分類Dev

挿入しようとすると、エラー、文字列、またはバイナリデータが切り捨てられます

分類Dev

挿入しようとすると、エラー、文字列、またはバイナリデータが切り捨てられます

分類Dev

キーとして使用されるデータをPythonが切り捨てないようにする

分類Dev

文字列から<style>タグデータを切り捨てます

分類Dev

BufferedReaderを使用すると、最初の文字が切り捨てられます

分類Dev

文字列が長すぎると切り捨てられます

分類Dev

jquery ajax postを使用してリクエストで渡されると、文字列が切り捨てられます

分類Dev

警告:データベース列からデータを取得しているため、切り捨てが発生する可能性があります

分類Dev

マスクを使用してnumpy配列の文字列を置き換えると、文字列が切り捨てられます

分類Dev

SQLServerのエラー「文字列またはバイナリデータが切り捨てられる」を修正する方法

分類Dev

データを切り捨てる必要があります

分類Dev

ZonedDateTimeを使用してjava-11で使用しているときに、データベースのDateTimeミリ秒とナノ秒が0の場合、デフォルトで切り捨てられます。

分類Dev

数式で使用するとRange.Addressが切り捨てられます(文字列が長すぎます)

分類Dev

別の列に存在する整数を使用して、データフレーム列の文字列を切り捨てます

分類Dev

列のデータが切り捨てられましたか?

分類Dev

列のデータが切り捨てられました

分類Dev

VBAを介してSQLテーブルを更新すると、小数が切り捨てられます

分類Dev

固定char []を使用してデータをコピーし、そこから文字列を作成します。常にchar []全体を使用するとは限りませんが、安全ですか?

Related 関連記事

  1. 1

    数値を乗算するときに列のデータが切り捨てられました

  2. 2

    strncpyを使用して文字列をコピーすると、出力にガベージ値が発生します

  3. 3

    Enterprise Architect Source Importは、文字列またはバイナリデータが切り捨てられることを警告します

  4. 4

    テキストをvarchar(max)パラメータと比較すると、文字列またはバイナリデータが切り捨てられます

  5. 5

    データが切り捨てられるのはなぜですか?警告| 1265 | 列のデータが切り捨てられました

  6. 6

    Javaを使用してMysqlデータベースで「列のデータが切り捨てられた」を回避する方法

  7. 7

    文字列を切り捨てると、numpyndarrayが例外をスローします

  8. 8

    文字列変換で切り捨てられているバイナリデータを移動する

  9. 9

    SQLサーバー、SQLサーバーでキャストと浮動小数点を使用しているときに切り捨てられるデータdecimal(38,35)の1つの列があります

  10. 10

    「PDOException」とメッセージ「SQLSTATE [22001]:文字列データ、右側が切り捨てられています:0

  11. 11

    挿入しようとすると、エラー、文字列、またはバイナリデータが切り捨てられます

  12. 12

    挿入しようとすると、エラー、文字列、またはバイナリデータが切り捨てられます

  13. 13

    挿入しようとすると、エラー、文字列、またはバイナリデータが切り捨てられます

  14. 14

    キーとして使用されるデータをPythonが切り捨てないようにする

  15. 15

    文字列から<style>タグデータを切り捨てます

  16. 16

    BufferedReaderを使用すると、最初の文字が切り捨てられます

  17. 17

    文字列が長すぎると切り捨てられます

  18. 18

    jquery ajax postを使用してリクエストで渡されると、文字列が切り捨てられます

  19. 19

    警告:データベース列からデータを取得しているため、切り捨てが発生する可能性があります

  20. 20

    マスクを使用してnumpy配列の文字列を置き換えると、文字列が切り捨てられます

  21. 21

    SQLServerのエラー「文字列またはバイナリデータが切り捨てられる」を修正する方法

  22. 22

    データを切り捨てる必要があります

  23. 23

    ZonedDateTimeを使用してjava-11で使用しているときに、データベースのDateTimeミリ秒とナノ秒が0の場合、デフォルトで切り捨てられます。

  24. 24

    数式で使用するとRange.Addressが切り捨てられます(文字列が長すぎます)

  25. 25

    別の列に存在する整数を使用して、データフレーム列の文字列を切り捨てます

  26. 26

    列のデータが切り捨てられましたか?

  27. 27

    列のデータが切り捨てられました

  28. 28

    VBAを介してSQLテーブルを更新すると、小数が切り捨てられます

  29. 29

    固定char []を使用してデータをコピーし、そこから文字列を作成します。常にchar []全体を使用するとは限りませんが、安全ですか?

ホットタグ

アーカイブ