1

私はこの構造を持っています:

struct student {
  int id;
  string name;
  string surname;
};

私がする必要があるのは、この宣言で関数を作成することです:

char* surname_name (student Student)

これは、この「姓、名前」のような形式で入力したすべての生徒をフォーマットし、その上にポインターを戻します。

私がこれまでに行ったことは次のとおりです。

char* surname_name (student Student){
    char *pointer= (char*) malloc (sizeof(char)*(Student.name.length + Student.surname.length + 2)); // + 2 because of space and comma

    string::iterator it;
    int i=0;

    for (it= Student.surname.begin(); it != Student.surname.end(); it++){
        (*pointer)[i] = it; // here it gives me error
    }

    ... // here still should be added code for comma, space and name
    return pointer;
}

関数がこの宣言を行う必要があるのはタスク内にあるため、それ以外の方法では作成できません。これを正しく作る方法は?

4

3 に答える 3