FILE * Fが_sfopen()で使用されていますwhile(!feof(f))そしてfgets(str、1024、f)が実行中に最後の行に到達すると、それはまだwhileに入りますが、fgetsを試みるとアクセス違反のarrorで飛びます(menuses while try and catch(...)私はそれが良い解決策ではないことを知っています)私は問題を解決するために何を変えるのですか?fgets()を使用してファイルから読み取ると、「アドレスから読み取るアクセス違反...」が発生するC++
プラス - 1行ずつ読みたい場合は、1024のサイズを指定するだけです。失敗する可能性があります - 行の途中から毎回読み込むサイズのためにファイルがあります次の行の途中に - 私のファイルがどのように見えるかわからないので、行を読む良い方法がありますか?(最後に\ nがある場合など)
ありがとう!
ご使用のコードをご記入ください。 –
std :: ifstreamの代わりにFILEを使用する特別な理由はありますか? – Jem
char buf [1024]、* p; while(fgets(buf、sizeof(buf)、fp)!= NULL){ do something ... } – sofr