Zordon pisze:
A czy to:
się w ogóle kompiluje?
To jest poprawny fragment kodu. Dla łańcucha "saves/" rezerwowane jest miejsce a następnie wskaźnik do tego miejsca jest przekazywany do
sciezka.
No to to już nie może działać. Dla plik nie została przydzielona pamięć.
Kod: Zaznacz cały
#include <stdio.h>
#include <string.h>
int main()
{
char nazwa[50];
char sciezka[80] = "saves/";
FILE *fp;
printf("Podaj nazwe pliku:
");
scanf("%s",nazwa);
strcat(sciezka, nazwa);
strcat(sciezka, ".txt");
printf("%s
", sciezka);
fp=fopen(sciezka,"w");
if(fp!=NULL)
fclose(fp);
}
strcat() modyfikuje pierwszy argument, więc nie ma co robić zmiennych pomocniczych.
Mamy
zamiast
ponieważ druga instrukcja rezerwuję tylko tyle pamięci ile jest potrzebne, a potrzeba będzie przecież sporo więcej.