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
981
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,"/* %d04 */ %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 %d04 pitäisi käsittääkseni olla %04d
-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
Vasemmistohallitus palauttaa hintasääntelyn, esim. bensalitra vain 1e.
Tuleva vasemmistolaisista koostuva hallitus ottaa käyttöön vanhat hyvät keinot pitää hinnat kurissa. Tähän tarkoitukse684490Vasemmistolainen valehteli jälleen - Purra tai persut eivät luvanneet "euron bensaa"
Väite "euron bensasta" on ensisijaisesti poliittisten vastustajien käyttämä puhdas vale. Persut kyllä kampanjoivat näky1053749Arman Alizadin viesti puna-aktivisteille: "Pitäkää lärvinne nytkin kiinni"
Arman Alizad kritisoi vasemmiston kaksinaismoralismia. Iranissa syntynyt suosikkijuontaja Arman Alizad pakeni perheensä1113377Minja Koskela nostanut vasemmistoliiton kannatuksen ennätykseen
Koskela valittiin puolueen johtoon lokakuussa 2024, ja silloin Ylen kysely antoi puolueelle 9,3 prosentin kannatuksen.281931Antti johtaa Petteriä jo 7,1 prosenttiyksiköllä
Tällä menolla sdp menee kokoomuksesta kierroksella ohi jo tällä vaalikaudella. https://yle.fi/a/74-20213575691911Mitä on tullut
Entisen abcn rakennuksen tilalle se oli tyhjillään monta vuotta siellä oli jo nyt valot onko huoltoasema? 5:30.871185- 90939
- 55895
Palosta selvinnyt 18 vuotias munira tarvitsi tulkin kun puhui Iltalehdelle
Suomessa asuva 18 vuotias tarvii tulkin !!! Tää Suomea puhumaton on palossa kuolleen naisen veli ja asui perheen kanssa.125892Mikä homma?
https://share.google/NvruSS4P4EzjTWPov Poliisilla oli keskiviikkona 4. maaliskuuta yksityisasunnossa Saarijärvellä tehtä25817