Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam
bawie sie z C od nie dawna i mam problem (umiem otworzyc plik ,pobrac linie i znaki ) niewiem jak obrać dane z pliku do zmiennych np w pliku mam :
login = jakis
haslo = jakies
i chce to pobrać do zmiennych char w C ,i tu juz mam zastuj od 2 dni i nijak mi to idzie :(
Offline
Na c sie nie znam, ale może to Ci pomoże.
string.h
strcat(s,t) concatenate t to end of s
Offline
#include <stdio.h> #include <string.h> int main() { char opt[10], val[10]; int ret; FILE *fp = fopen("plik.conf", "r"); if ( !fp ) return 1; ret = 0; while ( ret != EOF ) { memset(opt, 0, sizeof(opt)/sizeof(*opt)); memset(val, 0, sizeof(val)/sizeof(*val)); ret = fscanf(fp, "%10s = %10s\n", opt, val); if ( strlen(opt) == 0 || strlen(val) == 0 ) continue; printf("Opcja: %s\nWartosc:%s\n\n", opt, val ); } fclose(fp); }
Format pliku konfiguracyjnego:
opcja = wartosc
Nie jest to najlepsze rozwiązanie, ale zdecydowanie najprostsze. I działa :P
Ostatnio edytowany przez urug (2008-10-02 20:53:20)
Offline
urug - Dzieki !!! działa swietnie :)) .pozdrawiam
Offline
urug: to jest najprostrze? ;D
Sam scanf to jest najprosciej :P
Offline
sam scanf nie potrafi odczytać bezpośrednio ze strumienia (FILE), także nie przyda się na wiele. A prawdę mówiąc, patrzę na to teraz i nie przychodzi mi do głowy łatwiejsze rozwiązanie. Można za pomocą read/fgets to zrealizować równie dobrze, ale już wtedy parsowanie tego ciągu spada na nas. W każdym razie jestem zwykłym amatorem - 99% możliwości mi umyka :P
Ostatnio edytowany przez urug (2008-10-03 20:13:34)
Offline
prosciej i chyba ladniej byloby zrobic do/while (wtedy tez nie trzeba ustawiac ret przed petla)
pozatym te memsety nie sa potrzebne - zgodnie z dokumentacja wstawione do tych tablic napisy beda automatycznie terminowane nullem wiec i pomiar dlugosci i wypisanie zadzialaja ok ... jezeli cos (nie wiem jak scanf zachowuje sie gdy nie dopasuje) to tylko na poczatku (zaraz po deklaracji) mozemy zerowemu elementowi tych tablic przypisac null
Offline