Şimdi Ara

2 stringi birleştiremedim :(

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
614
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba,

    Çok basitse kusura bakmayın kafam bulandı çözemedim bi türlü... 2 tane stringim var bi tanesi tanımlı bir tanesini kullanıcıdan alıyorum ve tek yapmak istediğim bunları birleştirmek. Ama nedense beceremedim. Fikir ve önerileriniz için şimdiden teşekkür ederim... Kod şöyle...
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    struct deneme
    {
    char *filename;
    } *dene;

    int main ()
    {
    dene = malloc (sizeof(struct deneme));
    dene->filename = (char*)malloc(200*sizeof(char));
    char *path=(char*)malloc(sizeof(char)*250);
    path = "/bin/";
    printf("Enter a file name: ");
    fgets(dene->filename,200,stdin);
    printf("filename:%s",dene->filename);
    strcat(path,dene->filename);
    printf("birlestirilmiş: %s\n",path);

    return 0;
    }

    strcat in olduğu satırda segmentation fault veriyo... Nerede yanlış yapıyorum??

    İyi çalışmalar







  • yanlis hatirlamiyorsam "path" in "dene->filename" i alacak kadar buyuk olmasi gerekiyor. pathi char [500] gibi bisi tanimlarsan olur herhalde
  •  
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    struct deneme
    {
    char *filename;
    } *dene;

    int main ()
    {
    char *path = malloc(250);

    if (path != NULL) {
    dene = malloc(sizeof *dene);

    if (dene != NULL) {
    dene->filename = malloc(200);

    if (dene->filename != NULL) {
    printf("Enter a file name: ");
    fgets(dene->filename,200,stdin);
    printf("filename: %s\n",dene->filename);

    strcpy(path, "/bin/");
    strcat(path,dene->filename);
    printf("concatenated: %s\n",path);
    execv(path,NULL,0);

    free(dene->filename);
    }

    free(dene);
    }

    free(path);
    }
    return 0;
    }

    Merak edenler için kodun doğrusunu yolluyorum...




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.