Moja propozycja:
- jedna pętla,
- zapis do nowego pliku (bez nadpisywania oryginału),
- bez: char tresc[10000],
- zamiana tylko liter - co drugą (na razie bez polskich ogonków)
[ edit ]
#include <stdio.h>
int main()
{
char ch;
FILE* file_in;
FILE* file_out;
file_in = fopen("text.txt", "r");
file_out = fopen("text_at.txt", "w");
int i = 0;
while ((ch = getc(file_in)) != EOF)
{
++i;
if (ch == 32) i = 0;
if ((ch >= 65 && ch <= 90) || (ch >= 97 && ch <= 122))
if (i % 2 == 0)
putc('@', file_out);
else
putc(ch, file_out);
else
putc(ch, file_out);
}
fclose(file_in);
fclose(file_out);
return 0;
}
text.txt
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi interdum metus leo,
ac lacinia ante aliquam viverra. Maecenas in ultricies enim. Proin et ullamcorper nisl.
Cras dolor ipsum, viverra quis sapien non, varius placerat lorem. Nulla ut cursus risus.
Ut at euismod diam, nec accumsan felis. Aenean sit amet dapibus orci, 12 vel faucibus elit.
Aliquam a urna sapien. Suspendisse tincidunt imperdiet nisl et tincidunt.
Pellentesque convallis velit at dui ultrices sodales. Vivamus nec semper ipsum.
Nunc tincidunt augue quis dui blandit semper. Nullam eget dignissim ligula.
In blandit augue quam, et pellentesque justo tempor eu. Nam faucibus tempor lacus at efficitur.
Phasellus sodales magna venenatis quam mollis, eget convallis quam semper.
In semper metus non nunc tempor, vel iaculis sapien accumsan.
Nunc vel massa quis libero fermentum sodales ut eget ligula.
Suspendisse pharetra accumsan sapien nec commodo. Integer libero arcu, imperdiet eget scelerisque a, sagittis at felis.
Aenean venenatis lacus sed sagittis gravida. Integer et quam et eros accumsan gravida.
Fusce imperdiet augue elit, et tincidunt erat gravida accumsan.
Pellentesque nec est sit amet ipsum placerat consequat. Nulla vehicula congue magna in varius.
Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
In rhoncus nibh sit amet ex pretium maximus. Etiam lacus nisi, ornare sed felis ut, porttitor ultricies risus.
Ut in diam sit amet mi pulvinar tincidunt non at ante. Fusce lacinia condimentum rutrum.
Suspendisse at quam id lorem hendrerit pretium. Vestibulum volutpat odio lectus, eget commodo ligula semper ut.
Nullam nulla orci, cursus eget consequat vitae, dapibus at lacus. Aliquam interdum pretium ex vitae feugiat.
Nulla facilisi. Donec ac ligula in sem euismod molestie.
Integer laoreet gravida sapien, sit amet ullamcorper neque facilisis vitae.
Vestibulum porttitor, ligula in tincidunt egestas, eros risus porttitor tellus, nec sagittis nunc orci nec est.
Nunc lectus nulla, lacinia in consectetur sagittis, tempor a ipsum.
Sed eu odio malesuada, molestie nulla sollicitudin, interdum magna.
Proin ut luctus urna, quis hendrerit ligula. Phasellus vulputate massa sed nisl accumsan, nec lacinia nulla pulvinar.
Sed viverra risus magna, ut euismod quam mattis nec. Nullam convallis rhoncus ipsum eu vestibulum.
Cras et eros sodales, tempor erat vitae, facilisis felis. Vivamus vel massa dapibus, lacinia augue eget, euismod mauris.
Morbi eu leo posuere, scelerisque purus molestie, auctor ante.
Ut sed odio feugiat, luctus nibh sit amet, dapibus massa. Aenean et est dignissim, accumsan purus sed, aliquam dolor.
Maecenas dapibus tempor nisi, non bibendum tortor placerat vitae. Nam quis vulputate ante.
Ut pretium, erat id congue imperdiet, libero ipsum ullamcorper eros, ac rhoncus elit nulla et nulla.
In tristique massa lectus, eu malesuada diam maximus sit amet. Phasellus euismod at purus a placerat.
Mauris nunc magna, rutrum a laoreet nec, luctus ac tortor. Suspendisse bibendum nec ex a ultricies.
Ut sagittis ante tristique urna convallis cursus id malesuada felis.
Curabitur ac velit eu tortor placerat tempus vel a lorem. Donec non velit ex.
Aenean vestibulum elit eget pharetra interdum. Ut nisi purus, congue in sapien nec, sodales vehicula arcu.
Donec at sapien ante. Praesent facilisis velit at sem pulvinar, in eleifend lectus eleifend.
Duis eu luctus leo, non viverra nulla. In volutpat risus dui, in convallis purus tincidunt ut.
Phasellus nisi diam, vehicula sed mauris at, venenatis dignissim lacus. Sed ac mi id orci interdum convallis.
Mauris condimentum dictum mi nec interdum.