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
 

[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 559
    Godlike

  • Postów:11 993
  • 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 559
    Godlike

  • Postów:11 993
  • 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: 1

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

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Logowanie


  • Potrzebujesz konta? Zarejestruj się!