Çözüldü Arguments Sayısını Nasıl Çoğaltabilirim?

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

nebnebsen

Geliştirici
Geliştirici
Üye
Mesaj
454
Çözümler
23
Beğeni
113
Puan
509
Ticaret Puanı
0
Merhaba,

Başka bir filesten sistem sökerken lazım oldu. Arguments sayısını yükseltmem gerekiyor. Source içinde 2 arguments var, 4 belki de 5'e kadar yükseltmem gerekiyor. Nasıl yapıldığı hakkında hiçbir fikrim yok. Yardımcı olur musunuz?

Hata veren kod blogu:
C++:
    char arg1[256], arg2[256], arg3[256], arg4[256];
    one_argument(three_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2), arg3, sizeof(arg3)), arg4, sizeof(arg4));
 
Çözüm
utils.cpp:
Aratılır

const char* two_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size)
{
    return (one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size));
}

Altına eklenir

const char* three_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_arg, size_t third_size)
{
    return (one_argument(one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size), third_arg, third_size));
}

const char* four_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_arg, size_t third_size, char* four_arg, size_t...
utils.cpp:
Aratılır

const char* two_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size)
{
    return (one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size));
}

Altına eklenir

const char* three_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_arg, size_t third_size)
{
    return (one_argument(one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size), third_arg, third_size));
}

const char* four_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_arg, size_t third_size, char* four_arg, size_t four_size)
{
    return (one_argument(one_argument(one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size), third_arg, third_size), four_arg, four_size));
}

const char* six_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_arg, size_t third_size, char* four_arg, size_t four_size, char* five_arg, size_t five_size, char* six_arg, size_t six_size)
{
    return (one_argument(one_argument(one_argument(one_argument(one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size), third_arg, third_size), four_arg, four_size), five_arg, five_size), six_arg, six_size));
}

utils.h:
Aratılır

extern const char* two_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size);

Altına eklenir

extern const char* three_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_flag, size_t third_size);
extern const char* four_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_flag, size_t third_size, char* four_flag, size_t four_size);
extern const char* six_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_flag, size_t third_size, char* four_flag, size_t four_size, char* five_flag, size_t five_size, char* six_flag, size_t six_size);
 
Çözüm
Bu şekilde de olur.
C++:
two_arguments(two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2), arg3, sizeof(arg3)), arg4, sizeof(arg4));
 
utils.cpp:
Aratılır

const char* two_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size)
{
    return (one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size));
}

Altına eklenir

const char* three_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_arg, size_t third_size)
{
    return (one_argument(one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size), third_arg, third_size));
}

const char* four_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_arg, size_t third_size, char* four_arg, size_t four_size)
{
    return (one_argument(one_argument(one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size), third_arg, third_size), four_arg, four_size));
}

const char* six_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_arg, size_t third_size, char* four_arg, size_t four_size, char* five_arg, size_t five_size, char* six_arg, size_t six_size)
{
    return (one_argument(one_argument(one_argument(one_argument(one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size), third_arg, third_size), four_arg, four_size), five_arg, five_size), six_arg, six_size));
}

utils.h:
Aratılır

extern const char* two_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size);

Altına eklenir

extern const char* three_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_flag, size_t third_size);
extern const char* four_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_flag, size_t third_size, char* four_flag, size_t four_size);
extern const char* six_arguments(const char* argument, char* first_arg, size_t first_size, char* second_arg, size_t second_size, char* third_flag, size_t third_size, char* four_flag, size_t four_size, char* five_flag, size_t five_size, char* six_flag, size_t six_size);
Teşekkürler
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst