Pagina 1 di 1

[C] formattazione stringa printf

Inviato: venerdì 12 giugno 2015, 23:10
da errullaiolo
E' possibile stampare la stringa senza \n?
Ad esempio utilizzando questa piccola espressione regolare ma così non funziona.

Codice: Seleziona tutto

printf("%[^\n]", "ciao\n");

Re: [C] formattazione stringa printf

Inviato: sabato 13 giugno 2015, 7:38
da minomic
Ciao,

ma sei sicuro che printf accetti le regular expressions? Io non lo avevo mai sentito...

Re: [C] formattazione stringa printf

Inviato: sabato 13 giugno 2015, 8:14
da errullaiolo
Infatti non funziona. Ci sta qualche funzione che lo fa?

Re: [C] formattazione stringa printf

Inviato: sabato 13 giugno 2015, 10:21
da vbextreme
l'operazione per eliminare uno '\n' finale di un a stringa è relativamente semplice e non richiede l'uso delle regular expressions.

Codice: Seleziona tutto

char* str_removeenter(char* str)
{
	size_t l = strlen(str);
	if ( str[l-1] == '\n' ) str[l-1] = '\0';
	return str;
}
codesto codice funziona solo se l'enter è l'ultimo carattere ma modificarlo per le proprie esigentze è un'operazione elementare per un programmatore c.

Se sei curioso di come si utilzzano le regular expressions naturalmente puoi cliccare sulla mia firma "easy framework" andare su "easystring"e aprire il file "easystring.c", il codice relativo alle regex parte dalla linea 278.
Se ti porti nel main.c tutto il codice commentato è un esempio di utilizzo delle suddette funzioni.