Teilstring von Position x bis Position y kopieren
-
Hallo Leute,
ich hab folgendes Problem. Ich lese eine Textdatei Zeile für Zeile ein. Ich möchte nun jde Zeile von der x-ten bis y-ten Stelle in einen neuen string schreiben. Hab aber leider keine Ahung wie ich das anstellen soll...
Hier ist mein bisheriger Code:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ZEILENLAENGE 200int main()
{
FILE *quelle;
char puffer[ZEILENLAENGE];
char name[20];
char searchstring[20];
int x, y;printf("Welche Datei wollen Sie zum Lesen öffnen: ");
scanf("%s",name);if((quelle=fopen(name,"r")) == NULL)
{
fprintf(stderr,"Kann %s nicht oeffnen\n",name);
exit (0);
}while(fgets(puffer,ZEILENLAENGE,quelle) != NULL){
x=strlen(puffer);
x = x-10;
y=x-20;.....????
}
return 0;
}Kann mir jemand weiterhelfen???
Danke
-
strncpy(target_buff, source_buff + offset, num_of_chars_to_copy)
-
Hi !
Check this out:// from, to inclusive. int StrPosCpy( const char* src, char* buf, unsigned bufsize, unsigned from, unsigned to ) { if ( to > ( strlen(src) - 1 ) ) return 1; if ( ( to - from + 2 ) > bufsize ) return 1; memset ( buf, 0, bufsize ); // Nullterminierung sicherstellen. strncpy( buf, src + from, to - from + 1 ); return 0; } int main() { char a[200] = {0}, b[200] = {0}; int x = 3, y = 7; strcpy ( a, "Hallo, das ist eine demo!" ); StrPosCpy( a, b, sizeof(b), x, y ); puts( b ); return 0; }