Skocz do zawartości

Tworzenie INI.


Rekomendowane odpowiedzi

Opublikowano

Jak stworzyć INI w C++? :L Próbuję zapisać do INI string, ale nie tworzy go samemu :/

 

string s = "[Player]"; s += name; s += ".ini"; // name to char*
WritePrivateProfileString("UserData", "Pass", pass, s.c_str());

Opublikowano

Otwórz plik w trybie do zapisu a utworzy ci plik(tutaj IOstream)

string s=[Player]"; s += name; s += ".ini";
ofstream file (s);
file.close();

 

tak btw, co to za biblioteka którą używasz? (WritePrivateProfileString)

Opublikowano

Odświeżam.

Zaincludowałem <fstream> bodajże i nie ma błędu, ale plik dalej się nie tworzy :(

 

@EDIT: Działa, robiło plik z "*", ale zastanawia mnie dlaczego ten kod:

case 2: // Registering
{
char* name = readstring(0);
cout << name;
char* pass = readstring(0);
cout << pass;
string s = ".\\[Player]"; s += name; s += ".ini";
cout << s;
break;
}

Wywala na ekranie takie coś: Login***.\[Player]***.ini ?

Tak jak by podmieniał name na pass, przy inicjowaniu zmiennej s :o

Opublikowano

Jeśli się nie mylę to funkcja readstring pochodzi z 39dll, więc może wysyłasz je na odwrót, albo kod wykonuje się na odwrót(lol), spróbuj:

case 2: // Registering
{
    char* name = readstring(0);
    cout << name;
    char* pass = readstring(0);
    cout << pass;
    string s = ".\\[Player]"+name+".ini";
    cout << s;
    break;
}

Opublikowano

Problem już rozwiązałem, tworzę s zaraz po odebraniu name i działa.

Dane wysyłają się poprawnie. Odpowiednio wchodzi w case, więc od tyłu nie czyta.

readstring() pochodzi z 39DLL:

char* CBuffer::readstring()
{
    int i;
    for(i = readpos; i < count; i++)
    {
        if(data[i] == '\0')
            break;
    }
    if(i == count)return NULL;
    i-=readpos;
    i = min(20000, i);
    StreamRead(&retval, i+1);
    return retval;
}

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...