• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

WritePrivateProfileStringA | Zapisywanie tekstu

VPS Starter Arubacloud
0 głosów
177 wizyt
pytanie zadane 31 grudnia 2019 w C i C++ przez Gildin1_2 Gaduła (3,060 p.)

Hej, używając funkcji WritePrivateProfileStringA zaprogramowałem zapisywanie "bool", "float", "int" i wszystko działa tak samo jak odczyt, ale nie mam bladego pojęcie jak zapisać char albo char*

Kod na zapis do int, float i bool

    for (auto value : ints)
        WritePrivateProfileStringA(value->category.c_str(), value->name.c_str(), std::to_string(*value->value).c_str(), file.c_str());

    for (auto value : floats)
        WritePrivateProfileStringA(value->category.c_str(), value->name.c_str(), std::to_string(*value->value).c_str(), file.c_str());

    for (auto value : bools)
        WritePrivateProfileStringA(value->category.c_str(), value->name.c_str(), *value->value ? "1" : "0", file.c_str());

tutaj odczyt

    for (auto value : ints)
    {
        GetPrivateProfileStringA(value->category.c_str(), value->name.c_str(), "", value_l, 32, file.c_str());
        *value->value = atoi(value_l);
    }

    for (auto value : floats)
    {
        GetPrivateProfileStringA(value->category.c_str(), value->name.c_str(), "", value_l, 32, file.c_str());
        *value->value = atof(value_l);
    }

    for (auto value : bools)
    {
        GetPrivateProfileStringA(value->category.c_str(), value->name.c_str(), "", value_l, 32, file.c_str());
        *value->value = !strcmp(value_l, "true");
    }

 

1 odpowiedź

0 głosów
odpowiedź 31 grudnia 2019 przez Patrycjerz Mędrzec (192,320 p.)
Znak możesz zapisać jako łańcuch znaków, czyli z zerem na końcu. Możesz do tego użyć konstruktora `std::string` przyjmującego `char` oraz metody ` c_str`.

Chcesz zapisać `char*` w postaci wartości adresu czy łańcucha znaków? Jeśli to pierwsze, to rzutujesz adres na liczbę całkowitą. Jeśli to drugie, to używasz wskaźnika bezpośrednio.
komentarz 31 grudnia 2019 przez Gildin1_2 Gaduła (3,060 p.)
A myślisz że nie próbowałem? program na direct x 9 wywala
komentarz 31 grudnia 2019 przez Gildin1_2 Gaduła (3,060 p.)
    
  WritePrivateProfileStringA(value->category.c_str()
            , value->name.c_str(),
            Funkcje->StrinngToLPCTSTR(string(hi).c_str()), file.c_str());
char hi[512];
    for (int i = 0; i <= 100; i++)
    {
        static string N[999];
        NazwaPliku[511][i] = N[i];
        sprintf_s(hi, "%s", N);
    }
    std::string NazwaPliku[512][999];

Co ja tu źle robię, że w pliku jest 

[Kategoria]
Nazwa=

 

Podobne pytania

0 głosów
0 odpowiedzi 566 wizyt
pytanie zadane 27 kwietnia 2018 w C# przez CP733 Początkujący (390 p.)
0 głosów
2 odpowiedzi 195 wizyt
pytanie zadane 29 lutego w HTML i CSS przez whiteman808 Bywalec (2,170 p.)
+2 głosów
2 odpowiedzi 185 wizyt
pytanie zadane 9 listopada 2021 w HTML i CSS przez FabQ Początkujący (450 p.)

93,022 zapytań

141,986 odpowiedzi

321,288 komentarzy

62,367 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...