Witam,
pisze od jakiegoś czasu programy na macu w języku C (ucze się) i natrafiłem na bardzo specyficzny problem z plikiem. program który napisałem ma za zadanie wpisać do pliku jedno zdanie, kod programu:
Kod php:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (int argc, const char * argv[])
{
char tekst[]="tujesttekstktorychchcezapisacdopliku";
char tekst2[20];
FILE *plik; /*r=read, w=write, rwx-obydwachyba, wb-tryb binarny*/
if ((plik=fopen("text", "w"))==NULL)
{
printf("plik nie zostal otworzony");
}
fprintf(plik, "%s" ,tekst); /*wpisanie tekstu*/
fscanf(plik, "%s",tekst2);
printf("tekst2: %s\n", tekst2);
if (fclose(plik)!=0)
{
printf("blad przy zamykaniu");
}
printf("Hello, World!\n");
return 0;
}
Wynik programu to TYLKO "hello world" co oznacza że wszystkie instrukcje sie wykonały, program nie zgłasza błędu otwarcia pliku (sprawdzałem tez błąd zamknięcia - brak) a jednak plik jest nadal czysty.
Dla wyjaśnienia kod sprawdzałem pod windowsem i działa poprawnie (wpisuje linijkę do pliku).
Probowalem również inne tryby otwarcia pliku (łacznie z binarnymi - chociaż nie powinno to mieć różnicy) - bez skutku.
Macie może jakieś sugestie?