尝试在c中返回char *时出错

时间:2013-10-01 18:18:14

标签: c arrays function char codeblocks

我想创建一个函数来从2个字符串中获取文件的完整路径,但是我得到了编译错误

  

aviso:el tipo de dato por defecto es'int'en el nombre de tipo [-Wimplicit-int] |

char *crearRuta(const *char ruta,const *char nombre){ (error in this line)
char* toReturn;

// Sacamos el nombre completo con la ruta del archivo
toReturn=(char *) malloc(strlen(ruta)+strlen(nombre)+2); // Sump 2, por el '\0'y '/'

//Verifico si el usuario ingreso la '/' final
if (ruta[tmp-1]=='/')
{
    sprintf(toReturn;,"%s%s", ruta, nombre);
}
else
  {
    sprintf(toReturn,"%s/%s", ruta, nombre);
  }
  return toReturn;}


int main(){
char * c=crearRuta("una/direccion","archivo.txt");

return 0;}

4 个答案:

答案 0 :(得分:2)

sprintf(toReturn;,"%s%s", ruta, nombre);

                ^

以上错误。你有一个额外的;错字。

答案 1 :(得分:0)

额外;

sprintf(toReturn;,"%s%s", ruta, nombre);

纠正

 sprintf(toReturn,"%s%s", ruta, nombre);

答案 2 :(得分:0)

很抱歉,您需要先解决基本问题。

char * crearRuta(const * char ruta,const char nombre){(此行中的错误) char toReturn;

只是一瞥,将其改为以下内容。

char *crearRuta(const char *ruta,const char *nombre){ (error in this line)

答案 3 :(得分:-1)

数据类型的Asterist后面或前面是非常不同的并且触发了错误, 你应该使用:

const char *var2 , const char *var2