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;
}
podzial Inboksu na pojedyncze maile
Moderator: Pomocy?!
Posty: 2
• Strona 1 z 1
podzial Inboksu na pojedyncze maile
Przeglądarka: -
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
Posty: 2
• Strona 1 z 1
Wróć do Pakiet SeaMonkey i Mozilla Suite
Kto jest online
Zarejestrowani użytkownicy: Baidu [Spider], Bing [Bot], dexter, Google [Bot]