Agora eu consegui resolver e o programa está funcionando perfeitamente, obrigado a todos que me ajudaram, se alguém quiser o código pronto, vou deixar ele aqui:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
using namespace std;
typedef struct{
char nome[120];
char empresa[120];
char email[300];
char endereco[120];
int celular,fixo;
}Cliente;
int main(int argc, char** argv) {
setlocale(LC_ALL, "Portuguese");
FILE *Dados_Cliente;
Cliente Cliente;
char arquivo[120];
printf("( n%co utilize espa%co, se necess%crio , use underline )\n",
198,135,160);
printf("Digite o nome do arquivo a ser criado : ");
scanf("%s",arquivo); /* não precisa do & pois string já é um endereço de memória */
strcat(arquivo,".txt"); /* concatenar o tipo do arquivo */
Dados_Cliente = fopen(arquivo,"a+"); /* tenta abrir o arquivo para leitura ou gravação no final dele */
if(Dados_Cliente==NULL) /* se o arquivo não existir */
Dados_Cliente = fopen(arquivo,"w"); /* w cria o arquivo e reseta ele para gravar a partir do começo dele */
printf("%s\n",arquivo);
if(Dados_Cliente==NULL){
printf("Não foi possível abrir o arquivo");
return(0);
}
printf("Digite o nome do cliente : ");
scanf("%s",Cliente.nome);
fprintf(Dados_Cliente,"Cliente: %s\n" ,Cliente.nome);
printf("Digite o nome da empresa do cliente: ");
scanf("%s",Cliente.empresa);
fprintf(Dados_Cliente,"Empresa: %s\n",Cliente.empresa);
printf("Digite o e-mail de contato do cliente: ");
scanf("%s",Cliente.email);
fprintf(Dados_Cliente,"E-mail: %s\n",Cliente.email);
printf("Digite o celular do cliente: ");
scanf("%i",&Cliente.celular);/* faltou o & pois aqui é float e não string */
fprintf(Dados_Cliente,"Celular: %i\n",Cliente.celular);
printf("Digite o telefone fixo do cliente: ");
scanf("%i",&Cliente.fixo);/* faltou o & pois aqui é float e não string */
fprintf(Dados_Cliente,"Fixo: %i\n",Cliente.fixo);
printf("Digite o endereço do cliente: ");
scanf("%s",Cliente.endereco);
fprintf(Dados_Cliente,"Endereço: %s\n",Cliente.endereco);
fclose(Dados_Cliente);
system("pause");
return 0;
}
adicionado 3 minutos depois
@arfneto O programa que estou fazendo é para o meu pai, só para ele ter um controle dos clientes mesmo, não precisa seguir nenhuma regra nem nada, por isso vou deixar assim mesmo. Mas obrigado pela informação, não sabia disso, e se algum dia precisar disso já vou estar informado e farei de maneira mais eficiente.
Obrigado pela ajuda