Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[ROZWIĄZANE] fscanfOpis zbędny.


Najlepsza odpowiedź DarkGL, 10.03.2014 14:48

Ten kod wyżej co podałem wczytuje całą linię 

 

spróbuj tak

fscanf(fp, "%s %[^\n]\n", voidBuffer , buff);

voidBuffer to tablica do której będzie wrzucane pierwsze słowo

Przejdź do postu


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 Drzanas

    Godlike

  • Power User

Reputacja: 329
Wszechpomocny

  • Postów:1 283
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Warszawa
Offline

Napisano 10.03.2014 12:55

Jak zrobić, żeby funkcja fscanf(); odczytywała dalej w jednej lini słowa za spacją.
Taki oto kod

#include <stdio.h>
int main()
{
FILE *fp;
char name[100];
fp = fopen("test.txt", "r");
fscanf(fp, "%s", name);
printf("%s\n", name);
fclose(fp);
return 0;
}

 
taki plik

test drugi trzeci
ziomal joł

wywala tylko
 

test

Docelowo to muszę napisać program, który oleje pierwsze słowo i mam to jakimś cudem zrobić za pomocą sfcanf stąd pytanie jak dalej efskanować za spacją.
  • +
  • -
  • 0

graphic.png


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 985
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 10.03.2014 13:32

fscanf(fp, "%[^\n]\n", buff);

  • +
  • -
  • 2

#3 Drzanas

    Godlike

  • Autor tematu
  • Power User

Reputacja: 329
Wszechpomocny

  • Postów:1 283
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Warszawa
Offline

Napisano 10.03.2014 14:08

No dobra, a jeszcze jak ominąć pierwsze słowo?

%s do jakiejś tam zmiennej, a potem "%[^\n]\n" do tej zmiennej co potrzebuje?

Szybciej byłoby jakbym sam to sprawdził, ale nie mam na tym komputerze żadnego kompilatora.

 


  • +
  • -
  • 0

graphic.png


#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 985
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 10.03.2014 14:48   Najlepsza odpowiedź

Ten kod wyżej co podałem wczytuje całą linię 

 

spróbuj tak

fscanf(fp, "%s %[^\n]\n", voidBuffer , buff);

voidBuffer to tablica do której będzie wrzucane pierwsze słowo


  • +
  • -
  • 3




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych