<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=13830&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-12-11T10:26:26+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=13830&amp;mode</id>
<entry>
<author><name><![CDATA[florekSi]]></name></author>
<updated>2015-12-11T10:26:26+01:00</updated>
<published>2015-12-11T10:26:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13830&amp;p=147652#p147652</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13830&amp;p=147652#p147652"/>
<title type="html"><![CDATA[Re: Alternatywa dla strtok_r() i strncasecmp()?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13830&amp;p=147652#p147652"><![CDATA[
Złośliwość Microchipa powiadasz <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /> Jasne... Microchip kierowany jest złośliwością <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /><br /><br /><!-- m --><a class="postlink" href="http://lmgtfy.com/?q=strtok_r+implementation+in+c" >http://lmgtfy.com/?q=strtok_r+implementation+in+c</a><!-- m --><br /><!-- m --><a class="postlink" href="http://lmgtfy.com/?q=strncasecmp+implementation+in+c" >http://lmgtfy.com/?q=strncasecmp+implementation+in+c</a><!-- m --><br /><br /><!-- m --><a class="postlink" href="http://ww1.microchip.com/downloads/en/DeviceDoc/50001686H.pdf" >http://ww1.microchip.com/downloads/en/D ... 01686H.pdf</a><!-- m --> strona 20.<br />Zapoznaj się z tym dokumentem. Będziesz miał mniej pytań i spekulacji...<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />All of the MPLAB XC compilers conform to the ANSI X3.159-1989 Standard for pro- gramming languages (with the exception of the MPLAB XC8 compiler’s inability to allow recursion, as mentioned in the footnote). This is commonly called the C89 Standard. Some features from the later standard, C99, are also supported.<br /></div><br /><br />Zwróć uwagę na -&gt;C89&lt;-. strtok_r() dostępne jest od C90<br />strcasecmp() jest w standardzie IEEE Std 1003.1-2001 i w nagłówku strings.h (zwróć uwagę na &quot;s&quot;) a to nie jest standard ANSI-C z którym deklaruje zgodność Microchip. To jest standard POSIX.1 czyli rodzina &quot;okolice Unix'ów&quot;.<br /><br />Tu masz jeszcze standardy <!-- m --><a class="postlink" href="http://port70.net/~nsz/c/" >http://port70.net/~nsz/c/</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11956">florekSi</a> — 11 gru 2015, o 10:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Atlantis]]></name></author>
<updated>2015-12-11T08:06:17+01:00</updated>
<published>2015-12-11T08:06:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13830&amp;p=147641#p147641</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13830&amp;p=147641#p147641"/>
<title type="html"><![CDATA[Alternatywa dla strtok_r() i strncasecmp()?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13830&amp;p=147641#p147641"><![CDATA[
Zacząłem ostatnio eksperymentować z mikrokontrolerami PIC32 (środowisko MPLABX i kompilator XC32). Powoli uruchamiam podstawowe peryferia i przenoszę część kodu, z którego korzystałem na AVR-ach. Wczoraj próbowałem między innymi uruchomić bibliotekę do parsowania komend AT, opartą na przykładzie z Green Booka. Okazało się jednak, że standardowa biblioteka libc dołączona do tego kompilatora nie zawiera wszystkich funkcji z pliku nagłówkowego string.h. Można to obejść zaznaczając we właściwościach projektu, że chcemy korzystać z &quot;legacy libc&quot;, która zawiera pełen zestaw.<br />Jednak w miarę możliwości chciałbym, aby kod projektu był zgodny z aktualną wersją biblioteki. Dlatego chciałbym zapytać, jaki jest waszym zdaniem najlepszy sposób na zastąpienie tych funkcji. Jako alternatywę dla strtok_r() mógłbym wykorzystać sscanf(), ale może istnieje lepsze podejście? Co do strncasecmp(), to do głowy przychodzi mi tylko konwertowanie całego łańcucha do wersji pisanej wielkimi literami i późniejsze korzystanie ze standardowej strncmp(), która jest dostępna.<br /><br />Ewentualnie można by też po prostu dołączyć własny kod wyżej wymienionych funkcji.<br /><br />Zastanawia mnie tylko dlaczego te funkcje zostały usunięte w nowej wersji biblioteki. Zakładając, że nie była to pomyłka (lub złośliwość) ze strony Microchipa trzeba przyjąć, że musi istnieć jakaś zalecana alternatywa. Ktoś się domyśla co nią może być?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2174">Atlantis</a> — 11 gru 2015, o 08:06</p><hr />
]]></content>
</entry>
</feed>