Estoy intentando crear un código que me diga si existe o no un programa y me da error, os suplico ayuda, aquí os dejo el código.
#include <stdio.h>
#include <stdlib.h>
#include <Shlobj.h>
#include <windows.h>
#include <dir.h>
#include <sys/types.h>
#include <dirent.h>
if (System.IO.File.Exists("C:\\aqui\\esta\\zzzz.txt"))
{
//código si fichero existe
}
else
{
//código si fichero no existe
}
Código del error
12 1 (Ruta) Error] expected identifier or '(' before 'if'
16 13 (Ruta) [Error] expected identifier or '(' before 'else'
¿Qué tal si empiezas encerrándolo todo dentro de una función? Por ejemplo int main()
Esto es C#, no C++:
System.IO.File.Exists("C:\\aqui\\esta\\zzzz.txt")
Luego, no puedes poner código sin m.as Tienes que poner la función main:
int main(){
// ...
}
Sigue sin funcionar, os agradezco la ayuda y sigo esperando a quien tenga la respuesta definitiva
Cita de: KZN en 22 Enero 2017, 14:53 PM
Sigue sin funcionar, os agradezco la ayuda y sigo esperando a quien tenga la respuesta definitiva
No te podemos dar una respuiesta "definitiva" si no nos dices cómo lo tienes ahora.
Probe a meterlo dentro de int main y no funciono, así que lo deje como postee al principio del post
Que al hacer una cosa siga dando errores, no significa que esa correción sea incorrecta.
No tienes que meterlo todo en el main, solo el código, sin los includes.
Y no es el único problema; mira lo que te escribí.
Y di qué compilador usas.
Utilizo Dev C++
Cita de: ivancea96 en 22 Enero 2017, 14:29 PM
Esto es C#, no C++:
System.IO.File.Exists("C:\\aqui\\esta\\zzzz.txt")
Luego, no puedes poner código sin m.as Tienes que poner la función main:
int main(){
// ...
}
Cita de: ivancea96 en 22 Enero 2017, 15:36 PM
No te podemos dar una respuiesta "definitiva" si no nos dices cómo lo tienes ahora.
#include <stdio.h>
#include <stdlib.h>
#include <Shlobj.h>
#include <windows.h>
#include <dir.h>
#include <sys/types.h>
#include <dirent.h>
int main () {
if (System.IO.File.Exists("C:\\algo.txt"))
{
//código si fichero existe
}
else
{
//código si fichero no existe
}
}
Código error
(Ruta) In function 'main':
14 5 (Ruta) [Error] 'System' undeclared (first use in this function)
14 5 (Ruta) [Note] each undeclared identifier is reported only once for each function it appears in
Lo dicho, esa línea es de C#, no de C++.
Puedes usar algo como el código que ponen en http://www.cplusplus.com/reference/cstdio/fopen/ (http://www.cplusplus.com/reference/cstdio/fopen/), con la función fopen:
#include <stdio.h>
int main ()
{
FILE * pFile;
pFile = fopen ("myfile.txt","r");
if (pFile!=NULL)
{
// Codigo si existe
fclose (pFile);
}else{
// Codigo si no existe
}
return 0;
}
Pero es que yo estoy usando C, no C++.
Mi editor se llama Dev C++ pero no solo edita C++, sino también C#
Un par de cosas.
En primer lugar, el código que te puse ahí es de C. (Por tu respuesta, intuyo que no lo probaste).
En segundo lugar, no tengo constancia de que Dev-C++ esté preparado para compilar C#. Si lo está, muy bien, pero te diré que no por ello puedes mezclar varios lenguajes en un mismo código. O programas C, o programas C#.
Una cosa es el editor y la otra el compilador/intérprete.
Con un editor puedes crear cualquier código en cualquier lenguaje pues todos sirven para escribir. Puedes hasta escribir El Quijote con ellos si quieres. Otra cosa es que cuándo vayas a compilar te acepte ese código. Ese el problema que te encuentras. Le das al compilador de C++ de tu editor un código en C# que no entiende para nada. Así que es normal que se queje.
Elige en que lenguaje quieres hacer las cosas y consigue el IDE para programar con él.
No, no lo puse, me invento los errores... :¬¬
Estoy usando C no C++ , aquí te dejo la lista de extensiones.
(http://imgur.com/J5QG0Wo.png)
Ahí no hay nada de C# ._.
Y lo dicho, el código q te puse antes es de C, no C++.
Lamento la espera, tuve que ausentarme, después de ver el comentario, revisar nuevamente el post y probarlo quería agradecer al usuario Ivancea96 por su ayuda, tema solucionado.