Click here to Skip to main content
15,899,754 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionProblem loading non-default wab Pin
Member 8689269-Jan-13 2:31
Member 8689269-Jan-13 2:31 
AnswerRe: Problem loading non-default wab Pin
Code-o-mat10-Jan-13 2:06
Code-o-mat10-Jan-13 2:06 
GeneralRe: Problem loading non-default wab Pin
Member 86892611-Jan-13 6:05
Member 86892611-Jan-13 6:05 
GeneralRe: Problem loading non-default wab Pin
Code-o-mat11-Jan-13 7:49
Code-o-mat11-Jan-13 7:49 
GeneralRe: Problem loading non-default wab Pin
Member 86892611-Jan-13 9:56
Member 86892611-Jan-13 9:56 
GeneralRe: Problem loading non-default wab Pin
Code-o-mat11-Jan-13 10:07
Code-o-mat11-Jan-13 10:07 
GeneralRe: Problem loading non-default wab Pin
Code-o-mat11-Jan-13 10:12
Code-o-mat11-Jan-13 10:12 
GeneralRe: Problem loading non-default wab Pin
Member 86892612-Jan-13 4:17
Member 86892612-Jan-13 4:17 
GeneralRe: Problem loading non-default wab Pin
Code-o-mat12-Jan-13 8:09
Code-o-mat12-Jan-13 8:09 
QuestionRe: Problem loading non-default wab Pin
Richard MacCutchan11-Jan-13 6:41
mveRichard MacCutchan11-Jan-13 6:41 
AnswerRe: Problem loading non-default wab Pin
Member 86892611-Jan-13 9:53
Member 86892611-Jan-13 9:53 
GeneralRe: Problem loading non-default wab Pin
Richard MacCutchan11-Jan-13 23:17
mveRichard MacCutchan11-Jan-13 23:17 
GeneralRe: Problem loading non-default wab Pin
Member 86892612-Jan-13 4:06
Member 86892612-Jan-13 4:06 
GeneralRe: Problem loading non-default wab Pin
Richard MacCutchan12-Jan-13 4:20
mveRichard MacCutchan12-Jan-13 4:20 
QuestionHow do you get the file size for an open file? Pin
Member 41945938-Jan-13 3:29
Member 41945938-Jan-13 3:29 
I have the following code:

C++
FILE *fp = stdin;

if ((fp = fopen(argv[optind], "rb")) == NULL) {
     printf("Cannot open file %s\n", argv[optind]);
     return 2;
}


It executes correctly and the correct file is accessed.

I added the following to get the file size:

C++
SizeLow = GetFileSize(_fileno(fp), & SizeHigh);
if ((SizeLow == 0xFFFFFFFF) && ((Error = GetLastError()) != NO_ERROR)) {
     printf("Cannot read file size for %s, error %d\n", argv[optind], Error);
     help();
     return 2;
}
if (binary && (SizeHigh > 0x70000000)) {
    printf("File too big for Binary Mode\n");
    help();
    return 2;
}
__asm {
          mov   eax,SizeLow
          mov   edx,SizeHigh
          cmp   binary,TRUE
          jnz   Bytes
          shld  edx,eax,3
          shl   eax,3
      Bytes:
          mov   DWORD PTR totalc,eax
          mov   DWORD PTR totalc+4,edx
      }


When I execute I get the following:

C++
ent.exe f:\tst1.tst  >ent1.txt
Cannot read file size for f:\tst1.tst, error 6


What am I doing wrong with the the GetFileSize call?

In case you are wondering, this is a modification to John Walker's ENT to speed up execution for huge files.

Dave.
AnswerRe: How do you get the file size for an open file? Pin
Jochen Arndt8-Jan-13 4:14
professionalJochen Arndt8-Jan-13 4:14 
GeneralRe: How do you get the file size for an open file? Pin
Member 41945938-Jan-13 10:27
Member 41945938-Jan-13 10:27 
GeneralRe: How do you get the file size for an open file? Pin
Member 41945938-Jan-13 12:24
Member 41945938-Jan-13 12:24 
QuestionWhile launching a winapp as ole server some time OnFIleNew() failed Pin
vermaashish_mca8-Jan-13 1:36
vermaashish_mca8-Jan-13 1:36 
AnswerRe: While launching a winapp as ole server some time OnFIleNew() failed Pin
Jochen Arndt8-Jan-13 2:51
professionalJochen Arndt8-Jan-13 2:51 
QuestionIcon/Bitmap missing in 1st control (MFC dialog) Pin
_jg_7-Jan-13 22:52
_jg_7-Jan-13 22:52 
QuestionThe task runtime question of RTOS. Pin
econy7-Jan-13 5:22
econy7-Jan-13 5:22 
AnswerRe: The task runtime question of RTOS. Pin
jeron17-Jan-13 5:35
jeron17-Jan-13 5:35 
AnswerRe: The task runtime question of RTOS. Pin
Joe Woodbury7-Jan-13 10:28
professionalJoe Woodbury7-Jan-13 10:28 
GeneralTreeview After Select Event Pin
Varun Pandey7-Jan-13 2:49
Varun Pandey7-Jan-13 2:49 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.