Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Grosse Dateien in VC++

(Anonym) / 4 Antworten / Flachansicht Nickles

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.

bei Antwort benachrichtigen
(Anonym) thomas woelfer „naja, 5mb ist ja nicht wirklich gross. wuerde das ganze einfach in den speicher...“
Optionen

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;
}

bei Antwort benachrichtigen