Hozzászólások
-
SzerzőBejegyzés
-
hali!
koszi a valaszokat… meg tudom hatarozni egy pointer erteket? Marmint szeretnem, ha a pointer a 134521821 -ra mutatna.
A file 134521200 – nal kezdodik es egeszen 134521200+filesizeig tart. Nah most a legegszerubben szerintem ugy tudom vizsgalni egy pointert megelozo, vagy utana levo karaktert, ha letrehozok egy masik pointert, ami arra a memoriateruletre mutat. szted ez nagy hulyeseg?
Pl:
def = strstr(buff, „defaulttt0”);
for(i=0; i<15; i++){
printf(„%dn”, (int)def);
}
ez a kov. 15 karakter ASCII kodjat adja ki. utana, h az most mi, mar egyszeru lesz kezelni.hali!
koszi a valaszokat… meg tudom hatarozni egy pointer erteket? Marmint szeretnem, ha a pointer a 134521821 -ra mutatna.
A file 134521200 – nal kezdodik es egeszen 134521200+filesizeig tart. Nah most a legegszerubben szerintem ugy tudom vizsgalni egy pointert megelozo, vagy utana levo karaktert, ha letrehozok egy masik pointert, ami arra a memoriateruletre mutat. szted ez nagy hulyeseg?
Pl:
def = strstr(buff, „defaulttt0”);
for(i=0; i<15; i++){
printf(„%dn”, (int)def);
}
ez a kov. 15 karakter ASCII kodjat adja ki. utana, h az most mi, mar egyszeru lesz kezelni.igen… jatszottam a printf(„%s”, buf)-al es ment. A puts viszont beletett egy sortotrest mindenhova, ami nem tetszett.
Van meg egy kinom bajom…
strstr-t hasznaltam, hogy egy szora rakeressek. Ez egy pointert ad vissza. Az elso megtalalastol az egesz file veget kiirja. hogyan tudom meghatarozni, hogy a fileban hol talalta ezt a reszletet es hogyan tudok egy meghatarozott hosszu charlancot, vagy stringet kiiratni?
Bocsi.. nincs ekezet.. raunam a valtogatasra.igen… jatszottam a printf(„%s”, buf)-al es ment. A puts viszont beletett egy sortotrest mindenhova, ami nem tetszett.
Van meg egy kinom bajom…
strstr-t hasznaltam, hogy egy szora rakeressek. Ez egy pointert ad vissza. Az elso megtalalastol az egesz file veget kiirja. hogyan tudom meghatarozni, hogy a fileban hol talalta ezt a reszletet es hogyan tudok egy meghatarozott hosszu charlancot, vagy stringet kiiratni?
Bocsi.. nincs ekezet.. raunam a valtogatasra.Tudom, hogy vannak könnyebb megoldások is, mint amit én válaszottam. Ez a kis program egy másik program alapja lesz és a cél, hogy C-vel megismerkedjek egy kicsit. Amúgy itt van a te megoldásod is:
Code:#include
#includeint main(int argc, char *argv[])
{
FILE *fp;
fp = fopen(„/boot/grub/menu.lst”, „r”);
int size, i;
fseek(fp, 0, SEEK_END);
size = ftell(fp);
char *buff;
buff = malloc(size);
fseek(fp, 0, SEEK_SET);
fread(buff, size, 1, fp);
for(i=0; i<size; i++)
{
printf("%c", buff[i]);
}
fclose(fp);
return 0;
}Most írtam és még működik is. 🙂
Tudom, hogy vannak könnyebb megoldások is, mint amit én válaszottam. Ez a kis program egy másik program alapja lesz és a cél, hogy C-vel megismerkedjek egy kicsit. Amúgy itt van a te megoldásod is:
Code:#include
#includeint main(int argc, char *argv[])
{
FILE *fp;
fp = fopen(„/boot/grub/menu.lst”, „r”);
int size, i;
fseek(fp, 0, SEEK_END);
size = ftell(fp);
char *buff;
buff = malloc(size);
fseek(fp, 0, SEEK_SET);
fread(buff, size, 1, fp);
for(i=0; i<size; i++)
{
printf("%c", buff[i]);
}
fclose(fp);
return 0;
}Most írtam és még működik is. 🙂
Köszi a tippet. Ha az egész file-t beolvasom, akkor utána még tudok benn majd valahogyan kavarni? Marmint keresés meg ilyesmik. Ebből a fileból szeretnék néhány alap infot kiolvasni. Ez jó 5letnek tűnt, amikor elkezdtem. Mostmár nem vagyok annyira magabiztos. 🙂
Amugy azert irta ki olyan hulyen a dolgot, mert szemét volt a memóban. Ha nulláztam az értéket, akkor egy warningal jol kiírta. Most így néz ki:Code:#include
#include
#includeint main(int argc, char *argv[])
{
FILE *fp;
fp = fopen(„/boot/grub/menu.lst”, „r”);
char *line;
line = malloc(128);
if(fp == NULL)
{
printf(„Could not open the file!n”);
}else
{
printf(„File opened for input!n”);
while(!feof(fp))
{
fgets(line, 128, fp);
printf(„%s”, line);
}
}
fclose(fp);
return 0;
}Köszi a tippet. Ha az egész file-t beolvasom, akkor utána még tudok benn majd valahogyan kavarni? Marmint keresés meg ilyesmik. Ebből a fileból szeretnék néhány alap infot kiolvasni. Ez jó 5letnek tűnt, amikor elkezdtem. Mostmár nem vagyok annyira magabiztos. 🙂
Amugy azert irta ki olyan hulyen a dolgot, mert szemét volt a memóban. Ha nulláztam az értéket, akkor egy warningal jol kiírta. Most így néz ki:Code:#include
#include
#includeint main(int argc, char *argv[])
{
FILE *fp;
fp = fopen(„/boot/grub/menu.lst”, „r”);
char *line;
line = malloc(128);
if(fp == NULL)
{
printf(„Could not open the file!n”);
}else
{
printf(„File opened for input!n”);
while(!feof(fp))
{
fgets(line, 128, fp);
printf(„%s”, line);
}
}
fclose(fp);
return 0;
}A fileban ez van, de tán nem így kellene kiiratni, nem? Mármint ráismersz valami szabványra, vagy rendszerre a fenti példában? Nekem elég összevisszának tűnik
A fileban ez van, de tán nem így kellene kiiratni, nem? Mármint ráismersz valami szabványra, vagy rendszerre a fenti példában? Nekem elég összevisszának tűnik
-
SzerzőBejegyzés
legutóbbi hsz