C++ temp konumuna dosya yükletme

alperenxrq

Hectopat
Katılım
9 Temmuz 2021
Mesajlar
230
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
"C:\Users\Ahmer\AppData\Local\Temp" konumunda PC adı olan "Ahmet" başka bilgisayarlarda farklı olduğundan dosya indiremiyorum bu kullanıcı adını alıp nasıl o konuma dosya yükletebilirim?
 
Daha iyi bir şekilde yazılabilir belki. İki versiyon var. Biri direkt TMP istemek. Bunun farklı yöntemleri varmış. TMPDIR gibi gibi. Her zaman aynı şey dönmeyebiliyormuş vesaire. Dolayısıyla bir de alternatif ekledim. Alternatifte yaptığım şey kullanıcı APPDATA lokasyonunu alıp onun ucuna Local\Temp eklemek. (Çalıştıra %appdata% yazdığınızda Appdata\Roaming konumunu döndürüyor, aynı şekilde getenv'de bu lokasyonu döndürüyor)
C++:
#include <iostream>
#include <Windows.h>

std::string return_tempPath() {
    return getenv("TMP");
}

std::string return_tempPathA() {
    std::string APPDATA = getenv("APPDATA"); 
    std::string Roaming("Roaming");
    size_t pos = APPDATA.find(Roaming);    
    APPDATA.replace(pos, Roaming.length(), "");
    APPDATA.append("Local\\Temp");
    return APPDATA; 
}



int main(int argc, char** argv) {
    std::string TEMP = getenv("TMP");
    std::cout << return_tempPath() << std::endl << return_tempPathA();
    return 0;
}
 

Technopat Haberler

Yeni konular

Geri
Yukarı