Portál AbcLinuxu, 12. května 2025 07:27
#include <iostream> #include <fstream> #include <string> using namespace std; int main() { char input[50] = "./subor"; char znak; int r = 0; char rr[20]; char help[20]; int ahoj[8]; int caw; ifstream fin(input); int i = 0; while (fin.get(znak)) { if (strcmp(&znak," ") == 0) { ahoj[i] = atoi(help); strcpy(help,""); i++; continue; } strcat(help, &znak); } for (i = 0; i < 8; i++) cout << ahoj[i] << endl; cout << endl; return 0; }Ja to uz asi neprezijem. Odkedy programujem riesil som uz vela problemov nad ktorymi som maturoval dlho, a potom som zistil ze ide o nejaku blbost. Ale na tomto sedim od rana. Ked vymazem riadky
int r = 0; char rr[20];a program skompilujem znova, stale mi to vypise chyba sagmentacie.. ja som z toho magor a nechapem preco. Kompilator je gcc 4.0.2 na SuSE linuxe. To iste robi aj ked napr. presunim riadky
int ahoj[8]; int caw;na nejake ine miesto, alebo ked ten kod hore nejako popremiestnujem. inak program funguje normalne. prosim pomozte...
strcat(help, &znak);A celkově je nebezpečné používat omezené buffery s neomezenou možností do nich něco cpát.
strcmp(&znak," ")
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.