Merhaba arkadaşlar.C den proje aldım.Şöyle;programabir dizin altındaki tüm klasörleri tarayacak(mesela C:/users gibi) ve uzantısı txt olanları bulacak . txt içindeki kelimeleri değiştirme seçeneği de olacak yardımlarınızı bekliyorum.
#include <windows.h>
#include <string.h>
void DirScanStub()
{
const char dirName[] = "c:\\temp\\";
const char dirScan[] = "c:\\temp\\*.*";
char* pname = 0; /* Dosya adı */
WIN32_FIND_DATA info;
HANDLE h = FindFirstFile(dirScan,&info);
if (h == INVALID_HANDLE_VALUE)
{
/* mesaj?.. */
return;
}
pname = (char*)malloc(MAX_PATH); /* (char*) sadece C++ için */
do
{
if ((info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0)
continue; /* dizinleri atla */
strcat(strcpy(pname,dirName),info.cFileName);
/* Bir sonraki dosya ismi cepte... */
/* Aç- işlem yap - kapat ...*/
} while (FindNextFile(h,&info));
FindClose(h); /* Dizin taramayı kapat */
free(pname);
}
Valla çok isterdim ama C bilmiyorum. Ben sadece yardımcı olmak için google dan bi tarama yaptırdım o kadar
Bi de
strcat(strcpy(pname,dirName),info.cFileName);
kısmında hangi değişkene gidiyor anlamadım demişsin. Sanırım şöyle
(strcpy için)
Hedef Kaynak
-------------------------------------------
pname dirName
(strcat için)
Hedef Kaynak
-------------------------------------------
pname info.cFileName
yani dizin ve dosya adı pname'e gidiyor. Dosya ve dizin adını bu şekilde birleştirmiş. Ya da sallıyorum![]()
bu yöntemi ben denedim 1 yerde patlıyor haberin olsunsystem("dir/b/s *.txt > C:\\temp.txt"); komutuyla txt dosyalarının adreslerini ve isimlerini temp.txt nin içine attım.bu aşamada bu txt dosyalarında nasıl işlem yapıcam.içlerinde kelime arayacağım örneğin.ama elimde dosyaların kendisi değil isimleri ve adresleri var.yardım eder misiniz..