[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.09.07
Prihlásený: 21.11.08
Príspevky: 6
Témy: 3 | 3

zdravim, poprosil by som o radu, mam takyto problem (vlastne su dva):

1) potrebujem v c/c++ dosiahnut, aby program cakal na vstup od uzivatela. totiz prebehne isty proces (praca so suborom) a na konci mam vypis, ci sa proces podaril, alebo nie. kedze vsak je to posledny prikaz suboru, tento text sa vypise ale hned sa okno zavrie, takze ho prakticky nebolo vidiet. potreboval by som nieco ako bolo readkey v pascale, teda ze program vypise tento text, potom bude cakat na stlacenie akejkolvek klavesy a az potom sa skonci. podla moznosti by som uvital co najjednoduchsi postup, som viac-menej zaciatocnik.

2) druha otazka sa tyka priamo tejto prace so suborom. prechadzam subor znak po znaku (cez getc), znaky porovnavam, mam tam nejaky switch atd a potom tieto znaky (respektive nejake zmenene, na zaklade vyhodnotenia cez switch) vkladam do druheho suboru (cez putc). teda je to kopia suboru, ale s tym ze iste konkretne znaky sa nahradia inymi. funguje mi to tak ako ma, ale na konci vystupneho suboru urobi vzdy este jeden znak navyse, je to znak "˙" (bez uvodzoviek, samozrejme. vyzera to ako samostatna bodka, ktora sa inak dava nad pismena). najradsej by som bol aby mi ju tam nedavalo vobec, ale na to neviem prist, preco ju tam dava, tak by som to chcel aspon obabrat takym sposobom, ze by po prebehnuti celeho procesu este spravilo taku vec, ze jednoducho odseknut posledny znak suboru prec. da sa to nejako jednoducho spravit?

dakujem


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3 | 3

1) skus system("pause"); alebo getch();

2) vyskusaj poslat zdrojovy kod.


_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.09.07
Prihlásený: 21.11.08
Príspevky: 6
Témy: 3 | 3
Napísal autor témyOffline : 21.11.2008 23:26 | cakat na vstup & zmazanie posledneho znaku

1) ked som si dal do googlu system("pause"), prve kde mi to naslo bol clanok "Things to avoid in C/C++", tak som si povedal ze toto nebudem pouzivat :D
getch() aj getchar() som uz skusal a nefungovali, ale napadla ma druha vec, vyskusat dat 2x po sebe getchar(). skusil som, a ide to :) netusim preco ten prvy este nezareaguje (ako keby mal este z predchadzajuceho kroku nejaky znak, ktory hned nacita a tym padom prejde dalej...) ale hlavne ze to funguje ako chcem. caka na stlacenie klavesy.

2) tu je kod:
Kód:
#include <stdio.h>

void main(){
   char nazov[255];
   char saveto[255];
   printf("Zadaj nazov vstupneho suboru.\n");
   scanf("%s", &nazov);
   FILE *fr, *fw;
   fr=fopen(nazov,"r");
   if (!fr){
      printf("Nepodarilo sa otvorit subor \"%s\".\n", nazov);
   }
   else {
      printf("Zadaj nazov vystupneho suboru.\n");
      scanf("%s", &saveto);
      fw=fopen(saveto,"w");
      char c;
      while (!feof(fr)){
         c=getc(fr);
         switch (c){
            case '/*nejaky char*/':
               putc('/*nejaky iny char*/', fw);
               break;
            /*vela takychto case-ov, na kazdy zo znakov ktore kontrolujem*/
            default:
               putc(c, fw);
               break;
         }
      }
      printf("Hotovo.\n");
      fclose(fr);
      fclose(fw);
   }
   getchar();
   getchar();
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3 | 3

Nepouzi funkciu feof(), ale makro EOF. A funkcia main() musi vraciat premennu typu int. :)
Kód:
#include <stdio.h>

int main(){
   char nazov[255];
   char saveto[255];
   printf("Zadaj nazov vstupneho suboru.\n");
   scanf("%s", &nazov);
   FILE *fr, *fw;
   fr=fopen(nazov,"r");
   if (!fr){
      printf("Nepodarilo sa otvorit subor \"%s\".\n", nazov);
   }
   else {
      printf("Zadaj nazov vystupneho suboru.\n");
      scanf("%s", &saveto);
      fw=fopen(saveto,"w");
      char c;
      while ((c=getc(fr))!=EOF){
         switch (c){
            case '/*nejaky char*/':
               putc('/*nejaky iny char*/', fw);
               break;
            /*vela takychto case-ov, na kazdy zo znakov ktore kontrolujem*/
            default:
               putc(c, fw);
               break;
         }
      }
      printf("Hotovo.\n");
      fclose(fr);
      fclose(fw);
   }
   getchar();
   getchar();
}


_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.09.07
Prihlásený: 21.11.08
Príspevky: 6
Témy: 3 | 3
Napísal autor témyOffline : 22.11.2008 21:29 | cakat na vstup & zmazanie posledneho znaku

vdaka, uz to funguje, teda uz tam nedava ten znak na konci.

este sa spytam: preco by mala funkcia main vracat integer? nemozem ju mat ako void? ved to funguje aj tak. alebo je to nejaka dogma, ze tak to musi byt a hotovo? (aj v skole nas ucili ze main moze vracat but integer, alebo void, alebo aj char ked chceme, ze je to jedno, skratka cokolvek - jedina podmienka aby to cez return vracalo taky typ ako je pred nazvom funkcie napisany)


Offline

Skúsený užívateľ
Skúsený užívateľ
cakat na vstup & zmazanie posledneho znaku

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35 | 35
Bydlisko: BA - WESTSIDE

Je to ANSI štandard pre C++ (správne dokončený program má vrátiť celočíselnú hodnotu 0), v C je to tuším jedno.


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
 [ Príspevkov: 6 ] 


cakat na vstup & zmazanie posledneho znaku



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Prekonvertovanie "&#9608;" do nfo znaku

v PHP, ASP

0

347

23.03.2012 8:47

d0.0b

V tomto fóre nie sú ďalšie neprečítané témy.

AT&T má systém na automatické zmazanie odoslaného e-mailu

v Novinky

6

671

04.07.2013 7:20

Poki

V tomto fóre nie sú ďalšie neprečítané témy.

I/P: ASUS TUF Gaming F15 FX506LH-HN004 (i5 10300H & GTX 1650 & 16GB RAM & 512 GB SSD)

v Informujem sa

4

1344

27.09.2022 15:15

michalesku

V tomto fóre nie sú ďalšie neprečítané témy.

Symbian & android & iOS & WinMobile

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Smartfóny a tablety

41

3023

15.12.2011 21:16

haffen

V tomto fóre nie sú ďalšie neprečítané témy.

id posledného záznamu

v Databázy

6

698

10.05.2010 19:45

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

vymazanie posledneho zaznamu

v Databázy

7

815

29.08.2009 12:55

pogo

V tomto fóre nie sú ďalšie neprečítané témy.

oplati sa cakat?

v Grafické karty

21

865

25.09.2009 21:21

Cirky

V tomto fóre nie sú ďalšie neprečítané témy.

Meno posledneho uploadnuteho suboru v zlozke?

v PHP, ASP

3

375

31.03.2010 19:12

rooobertek

V tomto fóre nie sú ďalšie neprečítané témy.

Výber posledného uploadnutého súboru z dir?

v PHP, ASP

6

532

13.12.2009 14:00

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

phpBB2 - mod na upravu LEN posledneho prispevku

v Redakčné systémy

2

702

20.06.2009 13:52

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

oplatí sa čakať na Sandy?

v Procesory

3

553

04.10.2010 8:01

mungo

V tomto fóre nie sú ďalšie neprečítané témy.

Kupa grafiky ,,, cakat alebo kupovat ,,,

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Grafické karty

47

2087

10.09.2009 11:18

ac.milan

V tomto fóre nie sú ďalšie neprečítané témy.

MB na SB... čakat, či nečakat....

v Základné dosky

7

836

06.02.2011 12:59

jtbs

V tomto fóre nie sú ďalšie neprečítané témy.

Oplati sa cakat na ATI R600

v ATI/AMD grafické karty

10

939

03.03.2007 18:17

extrem28

V tomto fóre nie sú ďalšie neprečítané témy.

Asus Rampage Extreme alebo čakať na X58?

v Základné dosky

10

938

10.09.2008 0:07

Spirit

V tomto fóre nie sú ďalšie neprečítané témy.

Vista Ultim.64x co cakat pri instalacii

v Operačné systémy Microsoft

3

302

08.07.2008 10:19

Gyrxiur



© 2005 - 2024 PCforum, edited by JanoF