Download

Salvando arquivos com variavel.

Estou tentando criar nós de blueprint para salvar arquivos( de texto mesmo).
mas oque eu não estou conseguindo é atribuir uma variavel, ou valor ‘do nó’.


FString UMysql_Nodes::SaveData(FString myText)
{
	ofstream myfile;
	myfile.open("C:\\Users\\CASA\\Desktop\\1.txt");
	myfile << myText;
	myfile.close();
	return "";
}

mas eu recebo um erro no operador “<<”.
Nenhum operador “<<” corresponde a esses operandos; os tipos de operandos são std::ofstream << FString.
Como posso converter FString ou FText ( Entrada do nó ). Em string ou algo que possa ser colocado em myfile (ofstream )

Qual o erro?

Perdão, esqueci de postar o erro.
Recebo este erro:
Nenhum operador “<<” corresponde a esses operandos; os tipos de operandos são std::ofstream << FString.
E no console:
Erro 1 error C2679: ‘<<’ binário : nenhum operador encontrado que receba um operando de lado direito do tipo ‘FString’ (ou não há conversão aceitável)

O problema é que FString é um TArray<TCHAR> você pode ver isso em: Runtime/Core/Public/Containers/UnrealString.h

No arquivo StringConv.h você encontra se não me engano 3 ou 4 conversões.

Acredito que para o seu caso, basta você criar um método na sua classa para converter e te retornar um std::string ou você pode converter diretamente dentro desse seu método. (eu acho melhor a criação de um separado).



std::string FStringToString(const FString &str)
{ 
  std::string rstr = "";
  int i;

  for (i = 0; i < str.Len(); i++)
     rstr += TCHAR_TO_UTF8(str[i]);
​  
  return (rstr);
}


Perceba que você deve passar sua FString para o método e ele te retornará um std::string.

não esta reconhecendo o metodo.
error C3861: ‘FStringToString’: identificador não encontrado

#EDIT

Agora deu certo. o metodo estava depois da função SaveData. Agora ta tudo OK.
Obrigadão pela força GersonNovais.

Opa, esse método você deve criar-lo ele não existe.

Que bom que funcionou. :slight_smile:

Olá
o unreal estava fechando quando rodava o codigo.
descobri que apenas só uma parte do codigo resolve.


myfile << TCHAR_TO_UTF8(*myString);

mais uma vez obrigadão ai :slight_smile: