Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

testo scritto perde fromattazione

12 views
Skip to first unread message

Bertram

unread,
Mar 28, 2013, 9:43:44 AM3/28/13
to


Ciao

Ho scritto un semplice programma C console, compilato con MinGW, che copia
dalla clipboard del testo e lo scrive in un file.txt. aprendolo con fopen.

Il testo che scrive, per�, perde la formattazione. Cio�, e solo una lunga
linea dei caratteri, mancando gli a capo, i return, ...ci sono invece tab e
gli spazi!

/***
char *y, *z;

int size;

if (OpenClipboard(hwnd)==0) return NULL;

htext=GetClipboardData(CF_TEXT);

if (htext==0) return NULL;

size=GlobalSize(htext);

z=malloc(size);

if (q==NULL) return NULL;

y=GlobalLock(htext);

memcpy(q,p,size);

***/

ho provato anche con CF_OEMTXT E UNICODE, ma non e servito a nulla.

Mi sapete dare chiarimenti?


Ciao






Bertram

unread,
Mar 28, 2013, 4:56:15 PM3/28/13
to
aggiungo che, se stampo sulla console, il testo, copiato dalla clipboard,
mantiene
la formattazione, tipo:

akjdjdsmls, asjddls djdos apskj
ajdid fogfgf kdldpd, fhfdoana
ajskdkd kpsosjsandkc vksoaj
dnjdosns, fhsioshs, vpfodjs, gngf
shjds.


Ciao



Giacomo Degli Esposti

unread,
Mar 29, 2013, 6:41:04 AM3/29/13
to
Il giorno giovedì 28 marzo 2013 14:43:44 UTC+1, Bertram ha scritto:
> Ciao
>
> Ho scritto un semplice programma C console, compilato con MinGW, che copia
> dalla clipboard del testo e lo scrive in un file.txt. aprendolo con fopen.
>
> Il testo che scrive, per�, perde la formattazione. Cio�, e solo una lunga
> linea dei caratteri, mancando gli a capo, i return, ...ci sono invece tab e
> gli spazi!
[...]
> Mi sapete dare chiarimenti?

ciao.
Puoi postarci anche il codice in cui scrivi nel file .txt ?
E' possibile che l'errore sia li', non e' che salti un carattere
nella scrittura e il carattere che salti e' proprio il return?

ciao
Giacomo

Bertram

unread,
Mar 29, 2013, 8:27:22 AM3/29/13
to


La scrittura e una semplice, aprire il file in formato, "w"

e con fprintf, o fputs, scrivere il testo copiato dalla clipboard.

Quando guardo il testo copiato nella clipboard, prima di avviare il
programma, il testo e formattato, cio� ha i return, ed � come lo vedo
a video.

Adlfmsidn soajd, gjsoreun
fksisn, gkdjs.
akdjdisl, gogjdj ; djfog0
Aldkfoif!

Ma quando lo scrivo nel file, e solo una lunga linea di caratteri:

Adlfmsidn soajd, gjsoreun f ksisn, gkdjs. akdjdisl, gogjdj ; djfog0
Aldkfoif!

Mantiene gli spazi, ma non ci sono i return! i new line.


/**

FILE *p;

char *clipboard;


clipboard=copiadaclipboard();

p = fopen("File.txt", "w");

fprintf(p,"%s\n",clipboard);


fclose(p);

**/








Bertram

unread,
Mar 29, 2013, 8:37:48 AM3/29/13
to


Aggiungo che, anche quando lo stampo sullo stdin, sul video della console,
mantiene
la formattazione.

Ciao


Giacomo Degli Esposti

unread,
Mar 29, 2013, 10:57:14 AM3/29/13
to
Il giorno venerdì 29 marzo 2013 13:27:22 UTC+1, Bertram ha scritto:
> La scrittura e una semplice, aprire il file in formato, "w"

Prova con "wt", serve per aprire il file in modo testo e non binario.

ciao
Giacomo

Bertram

unread,
Mar 30, 2013, 7:19:41 AM3/30/13
to

"Giacomo Degli Esposti" <giacomo.de...@gmail.com> ha scritto nel
messaggio news:569f309d-3164-49a6...@googlegroups.com...
No, con "wt", scrive come prima, con "wb", scrive mantenendo la forma.

Ciao


Stefano Frosio

unread,
Apr 1, 2013, 4:20:14 AM4/1/13
to
> Il testo che scrive, perᅵ, perde la formattazione. Cioᅵ, e solo una lunga
> linea dei caratteri, mancando gli a capo, i return, ...ci sono invece tab e
> gli spazi!
>
> Mi sapete dare chiarimenti?
>

Probabilmente devi convertire i caratteri di ritorno a capo nella coppia
\r\n.

HTH,

--
Stefano Frosio
www.esse-effe.com

Bertram

unread,
Apr 11, 2013, 2:39:02 PM4/11/13
to

"Stefano Frosio" <stefanofros...@GRAZIEgmail.com> ha scritto nel
messaggio news:51594340$0$1366$4faf...@reader2.news.tin.it...
>> Il testo che scrive, per�, perde la formattazione. Cio�, e solo una lunga
>> linea dei caratteri, mancando gli a capo, i return, ...ci sono invece tab
>> e
>> gli spazi!
>>
>> Mi sapete dare chiarimenti?
>>
>
> Probabilmente devi convertire i caratteri di ritorno a capo nella coppia
> \r\n.
>

come fai a vedere in un editor questi caratteri speciali?
Utilizzo Scite, e i fine linea, sono: CRLF.
Anche con Geany, sono le stessa cosa.

Ciao




Stefano Frosio

unread,
Apr 13, 2013, 4:12:41 AM4/13/13
to
>> Probabilmente devi convertire i caratteri di ritorno a capo nella coppia
>> \r\n.
>>
>
> come fai a vedere in un editor questi caratteri speciali?

Con un editor esadecimale?

--
Stefano Frosio
www.esse-effe.com
0 new messages