Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2008, 17:30   #1
Dekster
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 10
Стрелка Поиск с исправлением файлов

Задание программы состоит в том что бы искать файлы в заданой папке,в этой папке много файлов количесво которых меняется, менять нужно содержимое файла, все файлы имеют внутрений вид: число, двоеточие, IP- адресс(23:10.1.1.15). Вот, нужно сделать так что бы программа обнуляла Айпи-адресс, тоесть ставила после двоеточий все ноли, например "23:0.0.0.0".
Код:
#include <iostream.h>
#include <windows.h>

 main()
{
            WIN32_FIND_DATA winFileData;
            HANDLE hFile;
			
            char szPath[MAX_PATH];
			SetCurrentDirectory("D:\\my\\data\\");
            if(GetCurrentDirectory(sizeof(szPath),szPath))
            {
                        cout<<szPath<<endl;
                        lstrcat(szPath,"\\*.*");
                        hFile = FindFirstFile(szPath,&winFileData);
						CreateFile (szPath,								 
							   GENERIC_WRITE,				
								   FILE_SHARE_READ,          
								 NULL,                       
								 OPEN_EXISTING,   								 FILE_FLAG_SEQUENTIAL_SCAN,  
		                           NULL);				
						SetFilePointer (szPath,-7,NULL,FILE_END);	  							
						WriteFile (szPath,"0.0.0.0", 10 , 0 , NULL);
								CloseHandle(szPath);
                        if (hFile!=INVALID_HANDLE_VALUE)
                        {
                                   do
						          {
							
				
                                      cout<<"FILE:"<<winFileData.cFileName<<endl;            
                                   }
                                   while (FindNextFile(hFile,&winFileData)!=0);
                                   FindClose(hFile);
                        }
            }
            return 0;
}
вот что нахимичил, файлы нахожу, для наглядности вывожу их на экран, а вот с заменой у меня явные проблемы.
я уже понял что SetFilePointer мне не катит, ибо IP может быть 7 символов а может быть 15.
помогите с заменой, заранее благодарен.
Dekster вне форума Ответить с цитированием
Старый 18.12.2008, 01:32   #2
Dekster
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 10
По умолчанию

все еще нуждаюсь в помощи
Dekster вне форума Ответить с цитированием
Старый 18.12.2008, 02:01   #3
Dekster
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 10
Восклицание

Ай НиД ХелП
Dekster вне форума Ответить с цитированием
Старый 18.12.2008, 16:36   #4
Dekster
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 10
По умолчанию

ну помогите, пожалуйста
Dekster вне форума Ответить с цитированием
Старый 18.12.2008, 17:47   #5
Dekster
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 10
По умолчанию

помогите ктонибуть
Dekster вне форума Ответить с цитированием
Старый 19.12.2008, 16:48   #6
Dekster
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 10
По умолчанию

все никак не могу решить проблему,нуждаюсь в помощи
Dekster вне форума Ответить с цитированием
Старый 19.12.2008, 20:34   #7
Dekster
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 10
По умолчанию

ап........
Dekster вне форума Ответить с цитированием
Старый 12.01.2009, 17:15   #8
Dekster
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 10
По умолчанию

Код:
#include <iostream.h>
#include <conio.h>
#include <windows.h>

 main()
{
            WIN32_FIND_DATA winFileData;
            HANDLE hFile;
			
            char szPath[MAX_PATH];
			SetCurrentDirectory("D:\\my\\data\\");
            if(GetCurrentDirectory(sizeof(szPath),szPath))
            {
                        cout<<szPath<<endl;
            
					lstrcat(szPath,"\\*.*");
                        hFile = FindFirstFile(szPath,&winFileData);
					
                        if (hFile!=INVALID_HANDLE_VALUE)
                        {
                                   do
						          {
						 if (strcmp(winFileData.cFileName,".")==0 || strcmp(winFileData.cFileName,"..")==0) continue;
								CreateFile (winFileData.cFileName,								 
							   GENERIC_WRITE,				 
								   FILE_SHARE_READ,          
								 NULL,                       
								 OPEN_EXISTING,              
								                             
								 FILE_FLAG_SEQUENTIAL_SCAN,  
	                        //      FILE_ATTRIBUTE_NORMAL,                           
	                           NULL);				
					//	SetFilePointer (winFileData.cFileName,NULL,NULL,FILE_END);	  							
						WriteFile (winFileData.cFileName,"0.0.0.0", 100 , 0 , NULL);
								CloseHandle(winFileData.cFileName);
										cout<<szPath<<endl;
                                    cout<<"FILE:"<<winFileData.cFileName<<endl;  
									getch();
                              
								  }
                                   while (FindNextFile(hFile,&winFileData)!=0);
								   cout<<"END!!!!!!!!!!";
								    FindClose(hFile);
                                   
                        }
            }
            return 0;
			
}
вот еще через врайтфайл, проблема в том что содержимое файла не меняется
Dekster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск файлов hacknet Общие вопросы Delphi 23 24.11.2008 17:54
Поиск файлов student_63 Общие вопросы Delphi 6 07.03.2008 19:00
Поиск файлов LeoN Общие вопросы Delphi 5 25.11.2007 22:54
Поиск файлов necky Общие вопросы Delphi 10 31.08.2007 00:27