Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
C++

Kopiowanie pliku

C++

  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 21.04.2011 17:19

Witam
#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[])
{
    string szStandartPath;
    char path[256];
    cout<<"paste standard path"<<endl;
    getline(cin,szStandartPath);
    
    string pathWrite;
    cout<<"paste path to write"<<endl;
    getline(cin,pathWrite);
    
    for(int i = 1;i<argc;i++){
         FILE * fp;
            if((fp = fopen(argv[i],"r")) == NULL){
                continue;
            }
            while(!feof(fp)){
                fgets(path,255,fp);
                if(path[0] == ';' || path[0] == '/'){
                    continue;
                }
                string tmp = szStandartPath + "\\" + (LPCTSTR)path;
                string tmp2 = pathWrite + "\\" + (LPCTSTR)path;
                CopyFile(tmp.c_str(),tmp2.c_str(),true);
            }
         fclose(fp);
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}
co program ma robic ? otoz ma odczytywac plik *.res i pliki ktorych sciezki sa tam napisane sa kopiowane do folderu ktory ja podam
obecnie pliki nie sa kopiowane
  • +
  • -
  • 1

#2 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 22.04.2011 10:41

#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

void vReplaceAll(string &path);
void vCleanPath(string &path);

int main(int argc, char *argv[])
{
    string szStandartPath, szLine;
    char path[256];
    cout<<"paste standard path"<<endl;
    getline(cin,szStandartPath);
    
    string pathWrite;
    cout<<"paste path to write"<<endl;
    getline(cin,pathWrite);
    
    for(int i = 1;i<argc;i++){
         FILE * fp;
            if((fp = fopen(argv[i],"r")) == NULL){
                continue;
            }
            while(!feof(fp)){
                fgets(path,255,fp);
                if(path[0] == ';' || path[0] == '/'){
                    continue;
                }
                szLine = (LPCTSTR)path;
                vReplaceAll(szLine);
                string tmp = szStandartPath + "\\" + szLine;
                string tmp2 = pathWrite + "\\" + szLine;
                string command = "mkdir " + tmp2;
                vCleanPath(command);
                system(command.c_str());
                command = "copy \"" + tmp + "\" \"" + tmp2+ "\"";
                cout<<command<<"\n";
                system(command.c_str());
            }
         fclose(fp);
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}

void vReplaceAll(string &path){
    for(int i = 0;i<path.length();i++){
        if(path[i] == '/'){
            path[i] = '\\';
        }
    }
}

void vCleanPath(string &path){
    size_t found;
    found=path.find_last_of("\\");
    path = path.substr(0,found);
}
jakies postepy tworzy foldery pokazuje niby ze skopiowalo plik ale kij pliku nie ma ;(
  • +
  • -
  • 1

#3 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 22.04.2011 12:08

to napisz wlasna funkcje kopiujaca plik :D
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#4 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 22.04.2011 12:09

no to powinno dzialac chyba ze zle uzywam polecenia copy
nie mam ochoty pisac drugi raz :F
  • +
  • -
  • 0

#5 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 22.04.2011 12:39

a zrob sobie wyswietlanie komendy i bedziesz wiedziec all :D
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#6 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 25.04.2011 17:34

#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

void vReplaceAll(string &path);
void vCleanPath(string &path);
bool bCopyFile(string from,string to);

int main(int argc, char *argv[])
{
    string szStandartPath, szLine;
    char path[256];
    cout<<"paste standard path"<<endl;
    getline(cin,szStandartPath);
    
    string pathWrite;
    cout<<"paste path to write"<<endl;
    getline(cin,pathWrite);
    
    for(int i = 1;i<argc;i++){
         FILE * fp;
            if((fp = fopen(argv[i],"r")) == NULL){
                continue;
            }
            while(!feof(fp)){
                fgets(path,255,fp);
                if(path[0] == ';' || path[0] == '/'){
                    continue;
                }
                szLine = (LPCTSTR)path;
                vReplaceAll(szLine);
                string tmp = szStandartPath + "\\" + szLine;
                string tmp2 = pathWrite + "\\" + szLine;
                string command = "mkdir \""+ tmp2;
                vCleanPath(command);
                command += "\"";
                system(command.c_str());
                bCopyFile(tmp,tmp2);
                /*command = "copy \"" + tmp + "\" \"" + tmp2+ "\"";
                system(command.c_str());*/
            }
         fclose(fp);
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}

void vReplaceAll(string &path){
    for(int i = 0;i<path.length();i++){
        if(path[i] == '/'){
            path[i] = '\\';
        }
    }
}

void vCleanPath(string &path){
    size_t found;
    found=path.find_last_of("\\");
    path = path.substr(0,found);
}

bool opyFile(string from,string to){
    FILE * fp = fopen(from.c_str(),"rb");
    FILE * fp2 = fopen(to.c_str(),"wb");
    if(fp == NULL || fp2 == NULL){
        if(fp == NULL){
            cout<<"czytanie"<<endl;
        }
        if(fp2 == NULL){
            cout<<"zapisywanie"<<endl;
        }
        return false;
    }
    long lSize;
    char * buffer;
    size_t result;
    
    fseek (fp , 0 , SEEK_END);
    lSize = ftell (fp);
    rewind (fp);
    
    buffer = (char*) malloc (sizeof(char)*lSize);
    if (buffer == NULL){
        fclose(fp);
        fclose(fp2);
        free (buffer);
        return false;
    }
    
    result = fread (buffer,1,lSize,fp);
    if (result != lSize){
        fclose(fp);
        fclose(fp2);
        free (buffer);
        return false;
    }
    
    fwrite(buffer,1,sizeof(buffer),fp2);
    
    fclose(fp);
    fclose(fp2);
    
    free (buffer);
    return true;
}
nie mam pojecia dlaczego ale program nie chce otworzyc pliku do skopiowania fopen dla fp zwraca NULL :|
  • +
  • -
  • 1





Również z jednym lub większą ilością słów kluczowych: C++

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych