Dev - C++ - ayuda para resolver este error

 
Vista:
sin imagen de perfil

ayuda para resolver este error

Publicado por Eric (1 intervención) el 09/06/2022 00:50:54
Hola soy nuevo y estoy creando un programa que cree archivos y les asigne un numero, cada que creas un nuevo archivo el numero asignado aumenta en 1 pero a la hora de actualizar el conteo de registros me salta este error y no puedo compilar.
[Error] no match for 'operator<<' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'char [50]')

Este es el código completo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <string.h>
#include <cstdlib>
#define MAXIMA_LONGITUD_CADENA 50
using namespace std;
 
int main() {
   char cadena[50];
   char nuevo_nombre[50];
   char nombre[MAXIMA_LONGITUD_CADENA];
   int  cc;
   //Abre el .txt que lleva el conteo de registros
   ifstream conteo("conteo.txt");
   //Guarda el valor de el .txt en la variable cadena
   	conteo.getline(cadena, 50);
   //Convierte la variable cadena en entero, guardando sobre cc
   	cc = atoi(cadena);
   // Mostrar en pantalla
   cout<< "Ingresa los datos de el registro" <<endl;
   // Crea un fichero de salida
   ofstream fs("nombre.dat");
   //Dar valor a los registros
	fgets(nombre, MAXIMA_LONGITUD_CADENA, stdin);
	// Remover salto de línea
    if ((strlen(nombre) > 0) && (nombre[strlen(nombre) - 1] == '\n'))
    {
        nombre[strlen(nombre) - 1] = '\0';
    }
   // Enviamos la cadena al fichero de salida:
   fs << nombre << endl;
   // Cerrar el fichero, para luego poder abrirlo para lectura
   fs.close();
   //Agrega un nuevo registro a el conteo
   cc = cc  + 1 ;
   //Actualiza el conteo y guarda en el conteo.txt para cerrarlo
   sprintf(cadena, "%d", cc);
    conteo<<cadena<<endl; //AQUI MARCA EL ERROR
   conteo.close();
   //Se le asigna un numero como nombre a el archivo de salida, para despues consultarlo
   sprintf(nuevo_nombre, "%d", cc);
 
        rename("nombre.dat", nuevo_nombre);
 
 
   return 0;
}

El archivo donde llevo el conteo esta en la misma direccion que el programa, es un txt llamado conteo.txt y dentro tiene un 0 que seria el valor inicial.
Captura
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder