←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] fscanf


Best Answer 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

Go to the full post
Locked

  • +
  • -
Drzanas's Photo Drzanas 10.03.2014

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ą.
Quote

  • +
  • -
DarkGL's Photo DarkGL 10.03.2014

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

  • +
  • -
Drzanas's Photo Drzanas 10.03.2014

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.

 

Quote

  • +
  • -
Best Answer DarkGL's Photo DarkGL 10.03.2014

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

Quote
Locked