- Член од
- 5 јануари 2008
- Мислења
- 2.806
- Поени од реакции
- 3.062
а зa dev-c++ ?
Можеш. Всушност така можеш и да ја најдеш должината(разликата од индексот на еден интерпукциски знак до предходниот).За оваа задача, дали е мошно решение да ги избројам само знаците, и според нивниот збир да знам колку реченици има? Пример, да избројам три точки и два прашалника и да ми врати дека има пет реченици?
fprintf и fscanf нај-често ти се користат за читање и запишување цели стрингови во фајл. За запишување само на еден карактер, како што сакаш во случајов, си има посебна функција fputc.fprintf(izlezna,”%c”,c) // ??? kako da se pecatat vo izleznata datoteka?
if( isupper(c) ) -ако 'с' е голема
c == tolower(c); -провери дали 'с' е мала
while( (c = fgetc(vlezna) )!= EOF)
{
if( isalpha(c) )
{
if( isupper(c) )
{
c = tolower(c);
}
else
{
c = toupper(c);
}
fputc(c,izlezna);
}
}
if(argc==1) //nema zadadeno ime?
( printf("Upotreba : %s ime_na_datoteka.", argv[]);
return (-1);
)
FILE *pd;
if(argc==1)
{
pd=stdin;
}
else {
bla bla bla..}
Како што прочитав од поранешниве постови, разбрав дека користиш Dev - Cpp. Од скоро го немам пипнато, али ајде. Таму мислам дека имаш опција од менито, (File->Save As или како и да е) да зададеш локација кај да ти се сними ЕХЕ-то од кога ќе го билднеш проектот. За да ти е по лесно сатави го во С:\ . Одкога ќе го направиш тоа, ако програмата ти се вика test, во С: треба да имаш фајл test.ехе .Во задачиве за испит што ми се, сегде пишува да се зададе името на датотеката преку командна линија..
FILE *fp;
fp = fopen( argv[ 1 ], "r" );
#include <stdio.h>
int main ( int argc, char *argv[ ] )
{
for(int i = 0; i < argc; i++)
printf("%s\n", argv[ i ] );
#include<stdio.h>
#include<ctype.h>
void pecati(FILE *pd)
{
int i;
for(;;)
{
if((i=fgetc(pd))==EOF)
break;
putchar(i);
}
}
int main()
{
int red=0,znak=0,praz=0,i=0;
char s[80],c;
FILE *pd;
if((pd=fopen("text.txt","r"))==NULL)
{
printf("\n Neuspesno citanje na datotekata. \n");
exit(1);
}
pecati(pd);
rewind(pd);
while((fgets(s,80,pd))!=NULL)
{
i=0; c=s[0];
while(c!='\n')
{
if(isalpha(c))
znak++;
else if(isspace(c))
praz++;
i++; c=s[i];
}
red++;
}
printf("\n Vo datotekata ima vkupno %d znaci, %d prazni mesta i %d redovi.\n",znak,praz,red);
}