※ ChatGPTを利用し、要約された質問です(原文:Visual C++ 2008 Express Editionを使って)
C++でネットワークHDDから連番のファイルを読み込む方法
このQ&Aのポイント
C++のVisual C++ 2008 Express Editionを使用して、ネットワークHDDから連番のファイルを読み込む方法を教えてください。
現在、ファイルパス付きの連番のファイル名をforループで読み込もうとしていますが、エラーが発生しています。
ファイルパスを文字列変数に代入するとエラーが発生するため、解決策を教えてください。
Visual C++ 2008 Express Editionを使って
Visual C++ 2008 Express Editionを使ってプログラムを書いています。
ネットワークHDDから連番になっているファイルを読み込みたいのですが、
どうすればいいでしょうか?
現状は、for文で (char) filename[100]という変数にファイルパス付の連番のファイル名
(\\\\IPアドレス\\フォルダ名\\ファイル名)を次々に代入して、
if( _sopen_s( &fh, filename, _O_RDONLY,_SH_DENYWR,_S_IREAD) == 0 ){
filesize=_filelength( fh );
offset=filesize-MX*MY*2;
printf( "File length : %ld\n", filesize );
printf( "Offset length : %d\n", offset );
_close( fh );
}
else {
printf("\n file open error ");
return 1;
}
という形で読み込みをすると、file open errorとなってしまいます。
コード1行目のfilenameのところを"\\\\IPアドレス\\フォルダ名\\ファイル名"とすると
読み込みできるのですが、上のコードだと読み込むことができません。
(char)に代入したことで\がファイルパスを指定するものとして認識されていないのかな、
と思って調べているのですが、経験も浅いので解決策がわからず、困っています。
初心者の未熟者ですが、ご教示よろしくお願いします。
お礼
連絡遅くなりました。 \を\\にエスケープせずにやったら出来ました! 助かりました!!ありがとうございました。