關於指針的++

之前一直覺得所謂的i++就是i = i + 1,今晚跟“大神”探討的時候,被鄙視了,原來++首先一點,要確定數據類型的大小,如果是LPVOID的話,就編譯不過。

事故現場:

TCHAR szIorTableInfo[4096] = { 0 };
				
				PIMAGE_IMPORT_DESCRIPTOR PE_Import_Info = ( PIMAGE_IMPORT_DESCRIPTOR )RVA2RAW(PE_Info,PE_NT_Header->OptionalHeader.DataDirectory[1].VirtualAddress,PE_NT_Header);
				
				DWORD dwImportSize = (DWORD )(PE_NT_Header->OptionalHeader.DataDirectory[1].Size);
				while( 1 )
				{
					DWORD dwNameAddr = PE_Import_Info->Name;
					PCHAR lpNameAddr =(PCHAR )RVA2RAW(PE_Info,dwNameAddr,PE_NT_Header);
					TCHAR szDllName[16] = { 0 };
					wsprintf(szDllName,TEXT("%S\r\n"),lpNameAddr);
					wcscat_s(szIorTableInfo,szDllName);
					PE_Import_Info++;//PE_Import_Info = PE_Import_Info + sizeof(IMAGE_IMPORT_DESCRIPTOR);
					if (PE_Import_Info->Characteristics == 0)
					{
						break;
					}
				}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章