Pitäisi saada luettua tiedostosta rivit ja lisättyä tulostuksessa jokaisen rivin eteen rivinumero tyyliin /* 01 */ . Miten tämä onnistuu?
Rivinumero tiedostosta luettaessa C++
14
969
Vastaukset
- adagad
FILE *data;
char line[320];
int counter=0;
if((data=fopen("teksti.txt","rt"))==NULL)return;
while(feof(data)){
fgets(data,320,data);
sprintf(stdout,"/* �4 */ %s
",counter,line);
counter ;
}
fclose(data);- mattiaz
adangadin koodi:
FILE *data;
char line[320];
int counter=0;
if((data=fopen("teksti.txt","rt"))==NULL)return;
while(feof(data)){
fgets(line,320,data); // - adagad
mattiaz kirjoitti:
adangadin koodi:
FILE *data;
char line[320];
int counter=0;
if((data=fopen("teksti.txt","rt"))==NULL)return;
while(feof(data)){
fgets(line,320,data); //niin ei tunnut missään
- Mik
mattiaz kirjoitti:
adangadin koodi:
FILE *data;
char line[320];
int counter=0;
if((data=fopen("teksti.txt","rt"))==NULL)return;
while(feof(data)){
fgets(line,320,data); //Esimerkki bugaa, sillä:
-rivejä ei lueta koskaan, sillä whilen feof palauttaa nollan, kun ei olla tiedoston lopussa (testi pitää olla !feof(..))
-se ei näytä hallitsevan ylipitkiä rivejä siististi (yli 320 merkkiä)
-sprintf:n 1. argumentti on char *, ei FILE *
-format string �4 pitäisi käsittääkseni olla d
-fgets:n paluuarvoa ei tarkisteta ollenkaan
- Mik
#include
#include
#include
int main(int argc,char *argv[]) {
FILE *fp;
char line[100];
unsigned int lineno = 1;
if ( (fp = fopen(argv[1], "r")) == NULL ) {
printf("open error!
");
return EXIT_FAILURE;
}
while( fgets(line, sizeof(line), fp) != NULL) {
printf("/* %u */ ", lineno);
do {
printf("%s", line);
if (strchr(line, '
'))
break;
if (fgets(line, sizeof(line), fp) == NULL)
break;
} while(1);
lineno ;
}
fclose(fp);
return EXIT_SUCCESS;
}
Tämä hallitsee myös ylipitkät rivit. Luettava tekstitiedosto annetaan ohjelmalle ensimmäisenä argumenttina.- KLK
kutsuhan ohjelmaasi ilman argumenttia
if (argc == 2)
{
/***/
} - Mik
KLK kirjoitti:
kutsuhan ohjelmaasi ilman argumenttia
if (argc == 2)
{
/***/
}Tuttuun tyyliin jäljelle jäävien (sangen itsestäänselvien) virhetarkistusten tekeminen jätetään harjoitustehtäväksi.
Tässä foorumissakin näyttää olevan bugi, sillä ja n peräkkäin ei tulostu kuten pitää. Foorumi tekee niiden kohdalla rivinvaihdon. Antamaani esimerkkiin pitää siis laittaa korjaus riveille, missä sijaitsevat 1. printf ja strchr. - Mik
Mik kirjoitti:
Tuttuun tyyliin jäljelle jäävien (sangen itsestäänselvien) virhetarkistusten tekeminen jätetään harjoitustehtäväksi.
Tässä foorumissakin näyttää olevan bugi, sillä ja n peräkkäin ei tulostu kuten pitää. Foorumi tekee niiden kohdalla rivinvaihdon. Antamaani esimerkkiin pitää siis laittaa korjaus riveille, missä sijaitsevat 1. printf ja strchr.Kylläpäs bugaa oikein urakalla. Viestin esikatselussa homma toimii, mutta lopullisessa viestissä ei. Ehkä kaksi kenoa peräkkäin tekee yhden kenon ? \
Piti siis kirjoittaa, että "..sillä \ ja n.." - pöhkö
Mik kirjoitti:
Kylläpäs bugaa oikein urakalla. Viestin esikatselussa homma toimii, mutta lopullisessa viestissä ei. Ehkä kaksi kenoa peräkkäin tekee yhden kenon ? \
Piti siis kirjoittaa, että "..sillä \ ja n.."d
x
h - Abc
Mik kirjoitti:
Tuttuun tyyliin jäljelle jäävien (sangen itsestäänselvien) virhetarkistusten tekeminen jätetään harjoitustehtäväksi.
Tässä foorumissakin näyttää olevan bugi, sillä ja n peräkkäin ei tulostu kuten pitää. Foorumi tekee niiden kohdalla rivinvaihdon. Antamaani esimerkkiin pitää siis laittaa korjaus riveille, missä sijaitsevat 1. printf ja strchr.Mitähän muuta hauskaa foorumin softasta löytyykään....
:::a:::
::::::
:::c:::
:::d:::
:::e:::
:::f:::
:::g:::
:::h:::
:::i:::
:::j:::
:::k:::
:::l:::
:::m:::
:::
:::
:::o:::
:::p:::
:::q:::
:::
:::
:::s:::
::: :::
:::u:::
:::v:::
:::w:::
:::x:::
:::y:::
:::z:::
Ohjelmakoodin esittämistä ajatellen surkea foorumi! - Abc
Abc kirjoitti:
Mitähän muuta hauskaa foorumin softasta löytyykään....
:::a:::
::::::
:::c:::
:::d:::
:::e:::
:::f:::
:::g:::
:::h:::
:::i:::
:::j:::
:::k:::
:::l:::
:::m:::
:::
:::
:::o:::
:::p:::
:::q:::
:::
:::
:::s:::
::: :::
:::u:::
:::v:::
:::w:::
:::x:::
:::y:::
:::z:::
Ohjelmakoodin esittämistä ajatellen surkea foorumi!while( fgets(line, sizeof(line), fp) != NULL) {
printf("/* %u */ ", lineno);
do {
printf("%s", line);
if (strchr(line, '\n'))
break;
if (fgets(line, sizeof(line), fp) == NULL)
break;
} while(1);
lineno ;
} - Abc
Abc kirjoitti:
Mitähän muuta hauskaa foorumin softasta löytyykään....
:::a:::
::::::
:::c:::
:::d:::
:::e:::
:::f:::
:::g:::
:::h:::
:::i:::
:::j:::
:::k:::
:::l:::
:::m:::
:::
:::
:::o:::
:::p:::
:::q:::
:::
:::
:::s:::
::: :::
:::u:::
:::v:::
:::w:::
:::x:::
:::y:::
:::z:::
Ohjelmakoodin esittämistä ajatellen surkea foorumi!while( fgets(line, sizeof(line), fp) != NULL) {
printf("/* %u */ ", lineno);
do {
printf("%s", line);
if (strchr(line, '
'))
break;
if (fgets(line, sizeof(line), fp) == NULL)
break;
} while(1);
lineno ;
} - Abc
Abc kirjoitti:
while( fgets(line, sizeof(line), fp) != NULL) {
printf("/* %u */ ", lineno);
do {
printf("%s", line);
if (strchr(line, '
'))
break;
if (fgets(line, sizeof(line), fp) == NULL)
break;
} while(1);
lineno ;
}Sisentäminen EI onnistu sarkainmerkillä (\t), mutta merkkikoodilla 255 riville saa "välilyönnin", jota järjestelmä ei siivoa pois.
...luettavan koodin liittäminen foorumin sivuille onnistuu sittenkin muutamalla pienillä korvausoperaatiolla. - Mik
Abc kirjoitti:
Sisentäminen EI onnistu sarkainmerkillä (\t), mutta merkkikoodilla 255 riville saa "välilyönnin", jota järjestelmä ei siivoa pois.
...luettavan koodin liittäminen foorumin sivuille onnistuu sittenkin muutamalla pienillä korvausoperaatiolla.Kaiken lisäksi foorumi ei näytä osaavan muuttaa oikein joitakin erikoismerkkejä. Joskus ainakin otsikoissa &-merkki jää kääntämättä html:stä, ja sen tilalla lukee & amp;..
Näköjään html suodatetaan myös, eikä tekstiä yritetä tulkita ollenkaan ns. as-is. & ja amp; kirjoitettuna peräkkäin suodatetaan, jolloin tekstin esikatselussa näkyy vain pelkkä &.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Putin hoiti Suomen natoon ja myös Ruotsin
Iso kiitos Vladimir Putinille. Hänen ansiosta pääsemme nyt Natoon. Putin halusi Naton lähelle ja nyt sai. Voimme tästä kiittää vain Putinia.6507987Niinistö teki hetkessä Suomesta Venäjän ydinaseiden maalitaulun
Kaiken lisäksi mies vielä lällätteli Putinille eilisessä tiedotustilaisuudessa ja käski katsomaan itseään peiliin. Kyllä vähän asiallisempaa käytöstä4662270Voi Stefu ja sun kiivas luonteesi
Sielä lentelee ullakkohuoneiston ikkunasta daamin vaatteet ja matkalaukut pitkin pihaa. Toisaalta,en ihmettele yhtään että tämä suhde päättyi näin,kyl2332186- 1471759
Ohhoh! Martina Aitolehti ja seurapiirihurmuri-Jesper ekassa yhteiskuvassa - Sutinaa Mallorcalla!
Martina Aitolehti ja seurapiirijulkkis-Jesper nauttivat toisistaan varsin vauhdikkaissa merkeissä Mallorcalla. Aitolehti ei ole esitellyt rakastaan vi251250Veikkaus: Miten The Rasmus pärjää Euroviisuissa?
Euroviisuhuuma on ylimmillään, kun Suomi ja The Rasmus taistelee biisillään Jezebel. Bändi on tikissä, kunhan Lauri Ylösen ääni kantaa. Mitä veikka511236Stefanilta tuli taas karu totuus Sofiasta
Marokkolainen h*o*ra! Voi tsiisus kun mulla on hauskaa! Lumput lentää ikkunasta kun Stefu raivoaa h*uralleen🤣🤣🤣 Nyt ne popparit tulille, tästä tule1101153Ootko onnellinen kun ei tarvitse
nähdä tätä tyhmää naamaa enää koskaan? Multa se särkee sydämen, mutta minkäs teen. Vaikka olisi kuinka sinnikäs eikä hellittäisi, se ei aina auta.65843Steppuli veressä
Seiskan lööpissä Steppulilla naama ja nyrkit veressä. Ei tainnut ihan kamojen pihalle paiskominen riittää. Onkohan pistänyt kämpän tuusannuuskaks.58798Oletko nähnyt eroottiset kohuleffat? Fifty Shades Of Grey -trilogia tv:stä
Fifty Shades -trilogia starttaa, kun nuori opiskelijanainen Anastasia tapaa rikkaan liikemiehen. Seksisuhdehan siitä starttaa, höystettynä sadistisill7747