problemy z odczytem

0

cześć napisałem program w c, który ma szyfrowac zapisane dane. na początku pyta mnie o jakis text który ma zaszyfrowac i zapisuje zmienna string, potem go zamykam nastepnie otwieram znów odczytuje tablice charów. powinien odczytac całego stringa z pliku a czyta tylko 1 wyraz (a powinien całość :( )
a dalej to szyfruje (czyli dodaje 1 ). chodzi mi głównie o to ze przepisuje 1 wyraz a jak dam zdanie ??
Możecie mi pomóc?? z góry THX !!

  #include <stdio.h>
 #include <stdlib.h>
 
 int main ()
 {
   FILE   *fp;
   char text[99]; /*txt z 1 pliku*/
   char enigma[99]; /*txt do 2 pliku*/
   char c;
   int i=0; /* dla indexow */
   fp=fopen("text.txt","w");
   printf("powiedz co chcesz w pliku zapisac??\n");
   scanf ("%s",&text);
   fprintf (fp,"%s",text);
   fclose (fp);
   getchar ();
   
   fp=fopen("text.txt","r");
   
   while((c=fgetc(fp)) != EOF)
{
printf("%c",c);
c=c+1;
enigma[i]=c;
i++;
}
fclose (fp);
 FILE *fp2; /*tu tworze nowey plik drugi by zapisac w nim zaszyforwana dana*/
   fp2=fopen("enigma.txt","w");
   fprintf (fp2,"%s",enigma);
   getchar ();
   
   return 0;
 }
0

Może białych znaków nie czyta a getline() próbowałeś ? Nie wiem czy ta funkcja działa w C, ale sprawdź

0

scanf ("%98s",text);

0

niestety getline mi nie diała :/ wpisałem natomiast intruckcje ta co mówił 13th dragon ale wtedy w ogóle przestało przepisywać :/ a kolega potem powiedział ze ma być wprowadzanie textu z lini poleceń no i teraz sie nawet nie kompiluje :( prosze pomocy!!

 #include <stdio.h>
 #include <stdlib.h>
 
 int main (int argc, char *argv[])
 {
   FILE   *fp;
   char text[99]; /*txt z 1 pliku*/
   char enigma[99]; /*txt do 2 pliku*/
   int i=0; /* dla indexow */
   fp=fopen("text.txt","w");
   printf("powiedz co chcesz w pliku zapisac??\n");
   text = atoi(argv[1]);
   fprintf (fp,"%s",text);
   fclose (fp);
   getchar ();
   
   fp=fopen("text.txt","r");
   
  fscanf ("%98s",text); 
fclose (fp);
 FILE *fp2; /*tu tworze nowey plik drugi by zapisac w nim zaszyforwana dana*/
   fp2=fopen("enigma.txt","w");
   fprintf (fp2,"%s",enigma);
   getchar ();
   
   return 0;
 }
 
0

Bo zamiast scanf'a wstawiłeś nie wiadomo co. Zaś scanfa którego poradziłem wstawiłeś nie wiadomo gdzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1