Malo sam zahrdao u C-u a treba mi slijedece: imam neko polje znakova (npr. char polje [50]) koje trebam procitati od prvog znaka do znaka "-", i ono sto je procitano mi treba kao nova varijabla.
citanje stringa do odredenog znaka
Zaključano
Zakačeno
izmenjeno 1 put, poslednji put X Files 27.03.2006. u 20:11
Izmene poruke
- X Files27.03.2006. u 20:11zapis iz teksta poruke
U C-u to bi moglo na primer ovako /NETESTIRANO/
EDIT:
E sad, ne secam se da li je {0} po C standradu, pa ako ga kompajler nece, onda moras
da uradis ove izmene:
Umesto:
char novi[50] = {0};
Stavi:
char novi[50];
Ispod reda:
strncpy( novi, tekst, gde_je_prvo_pojavljivanje-tekst );
Dodaj jos ovaj red:
novi[gde_je_prvo_pojavljivanje-tekst] = '\0';
Code:
char tekst[50] = "abcdefghi-123456789";
char novi[50] = {0};
char sta_se_trazi = '-';
char *gde_je_prvo_pojavljivanje;
gde_je_prvo_pojavljivanje = strchr( tekst, sta_se_trazi );
if ( gde_je_prvo_pojavljivanje )
{
strncpy( novi, tekst, gde_je_prvo_pojavljivanje-tekst );
}
else
{
// nema znaka koji se trazi
}
char tekst[50] = "abcdefghi-123456789";
char novi[50] = {0};
char sta_se_trazi = '-';
char *gde_je_prvo_pojavljivanje;
gde_je_prvo_pojavljivanje = strchr( tekst, sta_se_trazi );
if ( gde_je_prvo_pojavljivanje )
{
strncpy( novi, tekst, gde_je_prvo_pojavljivanje-tekst );
}
else
{
// nema znaka koji se trazi
}
EDIT:
E sad, ne secam se da li je {0} po C standradu, pa ako ga kompajler nece, onda moras
da uradis ove izmene:
Umesto:
char novi[50] = {0};
Stavi:
char novi[50];
Ispod reda:
strncpy( novi, tekst, gde_je_prvo_pojavljivanje-tekst );
Dodaj jos ovaj red:
novi[gde_je_prvo_pojavljivanje-tekst] = '\0';
Danas nesto puno pitanja o char pa da ponovim: procitajte
a evo i primera:
idb
Code:
#include <string.h>
char *strtok( char *str1, const char *str2 );
#include <string.h>
char *strtok( char *str1, const char *str2 );
a evo i primera:
Code:
// Dev-Cpp 4.9.9.2
#include <stdio.h>
#include <string.h>
int main (){
char str[] ="Procitaj ovo-Ovo nemoj!";
char var[50];
char * pch;
pch = strtok (str,"-");
if (pch != NULL) sprintf (var,"%s",pch);
printf("Provera: %s\n",var);
system("pause");
return 0;
}
// Dev-Cpp 4.9.9.2
#include <stdio.h>
#include <string.h>
int main (){
char str[] ="Procitaj ovo-Ovo nemoj!";
char var[50];
char * pch;
pch = strtok (str,"-");
if (pch != NULL) sprintf (var,"%s",pch);
printf("Provera: %s\n",var);
system("pause");
return 0;
}
idb
Dakle stvarno, ljudi...
Code:
#include <stdio.h>
int main () {
char s[50];
scanf("%[^-]", s);
printf("%s\n", s);
return 0;
}
#include <stdio.h>
int main () {
char s[50];
scanf("%[^-]", s);
printf("%s\n", s);
return 0;
}
Code:
scanf("%[^-]", s);
scanf("%[^-]", s);
svidja mi se
:))
idb