MozillaPL.org - polskie centrum Mozilli

Główne menu:

podzial Inboksu na pojedyncze maile

Tematy specyficzne dla pakietów SeaMonkey oraz Mozilla Suite

Moderator: Pomocy?!

podzial Inboksu na pojedyncze maile

Postautor: ryju » 31 marca 2003, 21:02

Przeglądarka: -

Witam.

Mialem potrzebe podzielenia Inboksu. Na tej stronie nic nie znalazlem
(moze zle szukalem jestem tu nowy). Stwierdzilem natomiast, ze inni
tez by chcieli. (bylo takie pytanie np. przy kwestii przenoszenia do outlooka)

Napisalem wiec programik ktory to robi. Jako parametru pragnie pliku
do podzielenia (np. Inbox). Moja edukacja informatyczna zakonczyla sie na 3 klasie liceum, wiec nie udzielam na ten programik ZADNYCH gwarancji.
Oczywiscie mozna z nim robic co sie chce.

z powazaniem
ryju

ps. SORRY, nie wpadlem na to ze uzytkownicy Windows,
nie skozystaja... poprawiam:

#include <stdio.h>
#include <ctype.h>

FILE *fin, *fout;
struct N { struct N *nptr; int c; } *S, *ROOT;
const unsigned int sofsn = sizeof(struct N);
unsigned int llen, act_pos = 0, i, f_no = 0, fn_length;
int c, c0, c1;
int *C[31];
char *fname;

int main(int argc, char *argv[])
{
if (argc != 2) abort();
fn_length = strlen(argv[1]);
fname = (char *) malloc((fn_length+10) * sizeof(char));
S = ROOT = (struct N *) malloc(sofsn);
for (llen = 0; llen < 80; llen++) {
if (llen < 31) C[llen] = &(S->c);
if ((S->nptr = (struct N *) malloc(sofsn)) == NULL) abort();
S = S->nptr;
}
S = ROOT;
if ((fin = fopen(argv[1], "r")) == NULL) abort();

while ((c = getc(fin)) != EOF) {
if (c == '\n') {
if (act_pos != 31) goto tu;
if (*C[0] != 'F') goto tu;
if (*C[1] != 'r') goto tu;
if (*C[2] != 'o') goto tu;
if (*C[3] != 'm') goto tu;
if (*C[4] != ' ') goto tu;
if (*C[5] != '-') goto tu;
if (*C[6] != ' ') goto tu;
if (!isupper(*C[7])) goto tu;
if (!islower(*C[8])) goto tu;
if (!islower(*C[9])) goto tu;
if (*C[10] != ' ') goto tu;
if (!isupper(*C[11])) goto tu;
if (!islower(*C[12])) goto tu;
if (!islower(*C[13])) goto tu;
if (*C[14] != ' ') goto tu;
if (!isdigit(*C[15])) goto tu;
if (!isdigit(*C[16])) goto tu;
if (*C[17] != ' ') goto tu;
if (!isdigit(*C[18])) goto tu;
if (!isdigit(*C[19])) goto tu;
if (*C[20] != ':') goto tu;
if (!isdigit(*C[21])) goto tu;
if (!isdigit(*C[22])) goto tu;
if (*C[23] != ':') goto tu;
if (!isdigit(*C[24])) goto tu;
if (!isdigit(*C[25])) goto tu;
if (*C[26] != ' ') goto tu;
if (!isdigit(*C[27])) goto tu;
if (!isdigit(*C[28])) goto tu;
if (!isdigit(*C[29])) goto tu;
if (!isdigit(*C[30])) goto tu;

if (fout != NULL) fclose(fout);
sprintf(fname, "%s%s%04u", argv[1], ".", ++f_no);
if ((fout = fopen(fname, "w")) == NULL) abort();
tu:
/*
* uwaga: jesli plik nie zaczyna sie prawidlowo,
* informacja (do pierwszego naglowka) nie zostanie zapisana
*/
if (fout != NULL) {
S = ROOT;
for (i = 0; i < act_pos; i++) {
putc(S->c, fout);
S = S->nptr;
}
putc('\n', fout);
}
S = ROOT;
act_pos = 0;
} else {
S->c = c;
if (++act_pos > llen) {
if ((S->nptr = (struct N *) malloc(sofsn)) == NULL) abort();
llen++;
}
S = S->nptr;
}
}
return 0;
}
Ostatnio zmieniony 01 kwietnia 2003, 17:29 przez ryju, łącznie zmieniany 1 raz
ryju
 
Posty: 2
Z nami od: 25 marca 2003, 21:47
Lokalizacja: 3miasto

Postautor: Gość » 31 marca 2003, 21:14

Przeglądarka: -

Przepraszam za ta zolta morde. powinno byc :)

ryju
Gość
 


Wróć do Pakiet SeaMonkey i Mozilla Suite

Kto jest online

Zarejestrowani użytkownicy: Baidu [Spider], Bing [Bot], dexter, Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: