CSV ファイルからいくつかの値を読み取るために fscanf を使用していますが、値に読み込まれたデータが大きすぎてバッファ オーバーフローが発生しないようにしたいと考えています。
私の csv ファイルの形式は int,string,string で、読み取るコードは次のとおりです (while 条件は後で修正します)。
while(fscanf(f, "%d,%[^,],%[^,]", &inArray[i].ID, inArray[i].label, inArray[i].brand)/*insert while condition here*/
scanf を使用する場合、オーバーフローを防ぐために次のように長さを指定します。scanf("%20f", example);
しかし、上記と同じことを試してみると: while(fscanf(f, "%d,%20[^,],%10[^,]", &inArray[i].ID, inArray[i].label, inArray[i].brand)/*insert while condition here*/
コードを実行するとクラッシュします。