eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[Podstawy C] Inicjalizacja zmiennych CHAR wartością zależną od #define › Re: [Podstawy C] Inicjalizacja zmiennych CHAR wartością zależną od #define
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
    From: "Pszemol" <P...@P...com>
    Newsgroups: pl.misc.elektronika
    Subject: Re: [Podstawy C] Inicjalizacja zmiennych CHAR wartością zależną od
    #define
    Date: Fri, 6 Nov 2009 12:13:41 -0600
    Organization: http://onet.pl
    Lines: 36
    Message-ID: <h...@p...onet.pl>
    References: <hcg548$9o7$1@inews.gazeta.pl>
    <s...@b...pl>
    <hchdh2$10c$1@inews.gazeta.pl>
    Reply-To: "Pszemol" <P...@B...com>
    NNTP-Posting-Host: gw.petrovend.com
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=response
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1257531153 26810 204.248.56.195 (6 Nov 2009 18:12:33 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Fri, 6 Nov 2009 18:12:33 +0000 (UTC)
    X-Posting-Agent: Hamster/1.3.13.0
    In-Reply-To: <hchdh2$10c$1@inews.gazeta.pl>
    X-Priority: 3
    X-MSMail-Priority: Normal
    Importance: Normal
    X-Newsreader: Microsoft Windows Live Mail 14.0.8064.206
    X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8064.206
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:575040
    [ ukryj nagłówki ]

    "Konop" <k...@g...pl> wrote in message
    news:hchdh2$10c$1@inews.gazeta.pl...
    >> Najprościej #define MOJ_ZNAK "\1"
    >> Teraz zadziała.
    >
    > Racja, dzięki za uwagi. Tego nie sprawdzałem z innego względu... część
    > znaków używam w ten sposób:
    > unsigned char ch;
    >
    > ch = MOJ_ZNAK;
    >
    > No i teraz to już nie działa :(... czyli wychodzi na to, że i tak muszę
    > mieć dwa define'y ;)... jeden do wstawiania do napisów, drugi do użycia
    > jako pojedynczy znak. Czy da się to może jakoś pogodzić??

    Da się.

    Masz

    #define MOJ_ZNAK "\1"

    I możesz potem zrobić tak:

    ch = MOJ_ZNAK[0];

    Zwróć uwagę że zapis "/1" w języku C oznacza faktycznie tablicę
    typu "const char[2]". Pierwszym znakiem jest /1 a drugim zero (ASCIIZ).
    Zapis ch = MOJ_ZNAK[0]; preprocesor rozwinie według Twojego #define
    i kompilator to zobaczy jako:

    ch = "/1"[0];

    i nie powinien mieć problemów, mimo iż to może dziwnie wyglądać :-)

    Zaletą takiego rozwiązania jest pojedynczy #define.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: