Para crear un archivo formateado, quiero utilizar fprintf
. Debe obtener los parámetros char*
, pero tengo varias variables de cadena. ¿Cómo puedo usar fprintf
?fprintf con string argumento
Respuesta
El uso básico de fprintf
con cuerdas se parece a esto:
char *str1, *str2, *str3;
FILE *f;
// ...
f = fopen("abc.txt", "w");
fprintf(f, "%s, %s\n", str1, str2);
fprintf(f, "more: %s\n", str3);
fclose(f);
Puede añadir varias cadenas utilizando varios %s
especificadores de formato y se puede utilizar repetidas llamadas a fprintf
para escribir el archivo de forma incremental.
Si tiene C++ std::string
objetos que puede utilizar su método c_str()
para conseguir una adecuada const char*
de usar con fprintf
:
std::string str("abc");
fprintf(f, "%s\n", str.c_str());
Muchas gracias. Funciona. – aryan
fprintf con múltiples cadenas es bastante simple, si eso es lo que está después, por ejemplo,
const char* charString1 = "This";
const char* charString2 = "is a";
const char* charString3 = "test";
fprintf(fileHandle, "%s, %s, %s", charString1, charString2, charString3);
Tengo algo como esto: ... cadena St1, St2; ... ifstream In ("Texto.txt"); En >> St1 >> St2; ... que St1 y St2 se inicializan al leer un archivo mediante la función ifstream(). Ahora quiero escribirlos en otro archivo mediante la función fprintf(). fprintf ("% s% s", St1, St2); Pero creo que fprint obtiene char * not string. – aryan
fprintf funciona análoga a printf, en el especificador de formato, se puede mencionar tantas% s como desee y dar el correspondiente número de argumentos de cadena. Si desea una respuesta más detallada, publique su código.
- 1. C++: cómo obtener los resultados de fprintf como un std :: string sin sprintf
- 2. Perforaciones muy sorprendentes de fprintf vs std :: ofstream (fprintf es muy lento)
- 3. Cómo escribir el archivo UTF-8 con fprintf en C++
- 4. TypeError: Tipo de argumento String mal (Módulo esperado)
- 5. ¿A qué se refiere el argumento String 'volumeName' de MediaStore.Audio.Playlists.Members.getContentUri?
- 6. Diferencia entre fprintf, printf y sprintf?
- 7. Moq con el argumento Acción
- 8. fprintf no está imprimiendo la nueva línea
- 9. Definición de excepciones con tupla como argumento
- 10. ¿Completar struct con String []?
- 11. Constructores con el mismo tipo de argumento
- 12. Java despacho método con un argumento nulo
- 13. Matlab Argumento con Personalizar color
- 14. C: ¿Por qué un fprintf (stdout, ....) es tan lento?
- 15. Windows C++: ¿Cómo puedo redireccionar stderr para llamadas a fprintf?
- 16. ¿Cómo imprimir un guion o punto usando fprintf/printf?
- 17. fprintf y ctime sin pasar \ n desde ctime
- 18. Error al verificar fprintf al imprimir en stderr
- 19. ¿La implementación de glibc de fprintf() es segura para subprocesos?
- 20. SimpleDateFormat String
- 21. Conversión String-Date con nanosegundos
- 22. pointcut primavera AOP con un argumento cierto
- 23. ¿Es seguro el hilo fprintf en OS X?
- 24. ¿Cómo puedo usar fprintf y escribir en una tubería?
- 25. ¿Por qué el método Scala's require en Predef permite un String como argumento?
- 26. ¿Cómo pasar el argumento con estrella al siguiente método?
- 27. JavaScript String Reemplazar con expresión regular y función como argumentos
- 28. Split String en String array
- 29. argumento posicional v.s. argumento de palabra clave
- 30. múltiples submarinos argumento VBA
¿Puede publicar un código de muestra que nos muestre cuál es la entrada y cuál es el resultado esperado? – Naveen
Tengo algo como esto: ... cadena St1, St2; ... ifstream In ("Texto.txt"); En >> St1 >> St2; ... que St1 y St2 se inicializan al leer un archivo mediante la función ifstream(). Ahora quiero escribirlos en otro archivo mediante la función fprintf(). fprintf ("% s% s", St1, St2); Pero creo que fprint obtiene char * not string. – aryan
El primer argumento para fprintf debe ser un ARCHIVO *, no un char *. En C no hay "cadena", solo "char *". ¿Estás seguro de que no quisiste etiquetar esta pregunta con "C++" en lugar de "c"? –