-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!nf1.ipartners.pl!ipartners.pl!news2.ipartners.pl!not-for-m
ail
From: JDX <j...@o...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: sscanf() - co robię źle?
Date: Sat, 23 Feb 2013 15:56:40 +0100
Organization: N/A
Lines: 40
Message-ID: <kgalb9$2ej7$1@news2.ipartners.pl>
References: <kgab3v$bmc$1@portraits.wsisiz.edu.pl>
NNTP-Posting-Host: ip-94-42-30-156.multimo.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: news2.ipartners.pl 1361631401 80487 94.42.30.156 (23 Feb 2013 14:56:41 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: 23 Feb 2013 14:56:41 GMT
In-Reply-To: <kgab3v$bmc$1@portraits.wsisiz.edu.pl>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130215 Thunderbird/17.0.3
X-Enigmail-Version: 1.5
Xref: news-archive.icm.edu.pl pl.misc.elektronika:643059
[ ukryj nagłówki ]On 2013-02-23 13:02, Atlantis wrote:
[...]
> sscanf(tablica, "+CPAS: %d\r", &zmienna_int);
>
> następnie funkcja zwraca wartość zapisaną w zmiennej.
>
> Robię coś nie tak? A może %d nie przyjmie liczby poprzedzonej zerami? Z
> drugiej strony próbowałem także zapisu "+CPAS: 00%d\r" i także nic nie
> dało...
To w końcu funkcja zwraca to co chcesz czy nie? Dawno już nie zaglądałem
do wnętrzności stdio, ale jakaś taka dziwna myśl chodzi mi po głowie że
funkcje z rodziny scanf "pod spodem" korzystają z dynamicznej alokacji
pamięci i w związku z tym musisz dostarczyć taki alokator. Jeśli tego
nie zrobisz to jest używany jakiś "place holder".
W każdym razie poniższy programik skompilowany gcc 4.7.2 pod WinXP/MinGW
działa zgodnie z oczekiwaniami.
/******************* Utnij tutaj *******************/
/* Kompilacja: gcc -O3 -s -o ssctest ssctest.c */
#include <stdio.h>
const char *tablica1 = "+CPAS: 002\r\0";
const char *tablica2 = "+CSQ: 123, 010\r\0";
int main ( int argc, char *argv[] )
{
int i, j, k;
sscanf (tablica1, "+CPAS: %d\r", &i);
printf ("Odczytana licba: %d\n", i);
sscanf (tablica2, "+CSQ: %d, %d\r", &j, &k);
printf ("Odczytane licby: %d, %d\n", j, k);
return 0;
}
/******************* Utnij tutaj *******************/
Następne wpisy z tego wątku
- 23.02.13 16:53 shg
- 23.02.13 20:55 Marek Borowski
- 23.02.13 22:07 Atlantis
- 24.02.13 12:12 J.F.
- 24.02.13 13:22 Atlantis
- 24.02.13 14:27 Pszemol
- 24.02.13 15:01 Atlantis
- 25.02.13 11:58 Adam Wysocki
- 25.02.13 11:59 Adam Wysocki
- 25.02.13 12:00 Adam Wysocki
- 26.02.13 20:42 Adam Dybkowski
- 27.02.13 02:27 Anerys
- 27.02.13 10:23 Adam Wysocki
Najnowsze wątki z tej grupy
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
Najnowsze wątki
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer PIS
- 2025-02-19 Ogrodzenie dla krów szkockich "Highland"
- 2025-02-19 Gdańsk => System Architect (background deweloperski w Java) <=
- 2025-02-19 Gdańsk => Solution Architect (Java background) <=
- 2025-02-19 Białystok => Data Engineer (Tech Leader) <=
- 2025-02-19 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-19 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-19 Rzeszów => International Freight Forwarder <=
- 2025-02-19 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-19 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-02-19 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-19 Nigdy
- 2025-02-19 Katowice => Key Account Manager (ERP) <=