Daten aus *.xyz lesen und in array speichern
-
Moin moin!
Also ich hab folgendes vor:
eine liste von IP in eine beliebige datei schreiben.
hier ein bespiel:127.0.0.1:111 192.168.1.1:111 192.168.1.2:111 192.168.1.3:111 192.168.1.4:111 192.168.1.5:111 ..
und will diese daten nun zeile für zeile einlesen und
und in diesem array speichern:SOCKADDR_IN servList[30]; servList[x].sin_family=AF_INET; servList[x].sin_port=htons(thisPort); servList[x].sin_addr.s_addr=inet_addr(thisIp);
einer ne idee?
-
habe ich erst vor ein paar tagen schon mal so was ähnliches geschrieben
HANDLE hFile; DWORD dwFileSize; DWORD dwBytesRead; char *lpBufPtr; char szTemp1[MAX_PATH]; char szTemp2[MAX_PATH]; if((hFile = CreateFile( "*.xyz", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE)NULL)) == (HANDLE)-1) return FALSE; dwFileSize = GetFileSize(hFile, NULL); if(dwFileSize == 0xFFFFFFFF) return FALSE; lpBufPtr = (char *)LocalAlloc(GMEM_FIXED, dwFileSize); if(lpBufPtr == NULL) { CloseHandle(hFile); return FALSE; } ReadFile(hFile,(LPVOID)lpBufPtr, dwFileSize, &dwBytesRead, NULL); if(dwBytesRead == 0) return FALSE; CloseHandle(hFile); for(int i = 0; i < dwFileSize; i++) { if(*lpBufPtr == 0x0a) { lpBufPtr++; sscanf( lpBufPtr, "%[^':'],%s", szTemp1, szTemp2); servList[x].sin_addr.s_addr=inet_addr(szTemp1); // musst du probieren ob es geht servList[x].sin_port=htons(atoi(szTemp2)); } lpBufPtr++; } LocalFree(lpBufPtr);
[ Dieser Beitrag wurde am 26.03.2003 um 12:58 Uhr von miller_m editiert. ]
-
jo danke!
werds gleich mal testen!
-
funktioniert ganz gut bisauf das wenn ich mit die Adresse mit
inet_ntoa(servList[x].sin_addr);
aus geben lass (via OutputDebugString) bekomm ich als ergebnis nur "0.0.0.0"
ich hab szTemp1 testweise mal durch "127.0.0.1" ersetzt dann gehts!
einer ne idee?