Hallo,
ich wüsste gern wie ich grössere Dateien (~5MB) in c++ am besten nach strings durchsuche. Mein problem bei der sache ist nämlich, dass ich einen integer zum zählen benutze und der zu "klein" ist.

Hallo,
ich wüsste gern wie ich grössere Dateien (~5MB) in c++ am besten nach strings durchsuche. Mein problem bei der sache ist nämlich, dass ich einen integer zum zählen benutze und der zu "klein" ist.
hi,
hier mal mein quelltext zur verdeutlichung meines problems.
/me is eigentlich assembler-coder, deswegen tu ich mich ein bisschen schwer mit cpp
SambaIt(HWND hWnd)
{
int check, size, i, x;
char pcname[100] = "",
datum[11] = "",
benutzer[50] = "",
inputdatei[100] = "",
outputdatei[100] = "",
inputbuf[2000000] = "";
HANDLE hInput;
DWORD read;
GetDlgItemText(hWnd,IDC_PC,pcname,100);
check = lstrlen(pcname);
if(check == 0) {
MessageBox(hWnd,"Bitte einen PC-Namen angeben!","Fehler!",MB_OK);
return TRUE;}
GetDlgItemText(hWnd,IDC_DATEI,outputdatei,100);
check = lstrlen(outputdatei);
if(check == 0) {
MessageBox(hWnd,"Bitte einen Dateinamen eingeben!","Fehler!",MB_OK);
return TRUE;}
if(tagcheck2) {
GetDlgItemText(hWnd,IDC_TAG,datum,11); }
if(benutzercheck2) {
GetDlgItemText(hWnd,IDC_BENUTZER,benutzer,50); }
lstrcat(inputdatei, pcname);
lstrcat(inputdatei,".samba.log");
hInput = CreateFile(inputdatei, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL);
if(hInput == INVALID_HANDLE_VALUE) {
MessageBox(hWnd,"Fehler beim Öffnen der Datei!\nNicht vorhanden?","Fehler!",MB_ICONWARNING);
return TRUE;}
size = GetFileSize(hInput, NULL);
if(size MessageBox(hWnd,"Die log-Datei ist kleiner als der PC-Name?","Hmmmmmmmmm",MB_ICONQUESTION);
return TRUE; }
ReadFile(hInput, inputbuf, size, &read, NULL);
for(i=0;i if(inputbuf[i] == pcname[0]){
check = lstrlen(pcname);
for(x = 1; x if(!(inputbuf[i+x] == pcname[x])){
break;
}
}
if(check == x){
if(!benutzercheck2 && !tagcheck2) {
}
}
}
}
CloseHandle(hInput);
return TRUE;
}