Aktív témák
-
QuarK
senior tag
egy szemtelen up, hogy látszódjon, ha kéne vkinek...
-
Miracle
senior tag
na szoval a motor beleganyolt a kodocskamba, itt a mukodo valtozat:
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
ifstream is((argc == 3)?argv[1]:''input.txt'');
ofstream os((argc == 3)?argv[2]:''output.txt'');
char c;
while(is.get(c)) if (c == ' ') os << '' '';
else if (c == '\t') os << '' '';
else os << c;
} -
-
Miracle
senior tag
a program otlete zsenialis, mar tobbszor is akadt ezzel gondom, de meg nem jutott eszembe, h kellene valami!!!! grat! remelem nem zavar, en is ideteszek egy hasonlo progit, ami windows, es linux alatt is mukodik.(mert itt ugy vannak ilyen userek is, pl. en)
szerk: a tabokat(fujj) 4szokozos indentte alakitja, ha nem adunk meg parametert akkor az input.txt-bol alakit az output.txt-be, ha adunk neki ket parametert, akkor az elsobol a masodikba dolgozik.
t(fujj) 4szokozos indentte alakitja, ha nem adunk meg parametert akkor az input.txt-bol alakit az output.txt-be, ha adunk neki ket parametert, akkor az elsobol a masodikba dolgozik.
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
ifstream is((argc == 3)?argv[1]:''input.txt'');
ofstream os((argc == 3)?argv[2]:''output.txt'');
char c;
while(is.get(c)) if (c == ' ') os << '' '';
else if (c == '\t') os << '' '';
else os << c;
}
[Szerkesztve] -
QuarK
senior tag
Itt a jó változat.

#include <windows.h>
#include <stdio.h>
#define BUFFER_SIZE 0x10000
char *inbuf, outbuf[BUFFER_SIZE];
void W_Error( char *error, ...)
{
va_list argptr;
char text[1024];
va_start( argptr, error);
vsprintf( text, error, argptr);
va_end( argptr);
printf( "Error: %s\n", text);
exit( 1);
}
int W_filelength( FILE *f)
{
int pos;
int end;
pos = ftell( f);
fseek( f, 0, SEEK_END);
end = ftell( f);
fseek( f, pos, SEEK_SET);
return end;
}
int W_FOpenFile( char *filename, FILE **file)
{
*file = fopen( filename, "rb");
if ( !*file)
{
*file = NULL;
return -1;
}
return W_filelength( *file);
}
void W_Read( void *buffer, int len, FILE *f)
{
int block, remaining;
int read;
byte *buf;
buf = ( byte*)buffer;
remaining = len;
while ( remaining)
{
block = remaining;
if ( block > BUFFER_SIZE)
block = BUFFER_SIZE;
read = fread( buf, 1, block, f);
if ( read == 0)
W_Error( "W_Read: 0 bytes read");
if (read == -1)
W_Error( "W_Read: -1 bytes read");
remaining -= read;
buf += read;
}
}
int W_LoadFile( char *path, void **buffer)
{
FILE *h;
byte *buf;
int len;
buf = NULL;
len = W_FOpenFile( path, &h);
if ( !h)
{
if ( buffer)
*buffer = NULL;
return -1;
}
if ( !buffer)
{
fclose( h);
return len;
}
buf = malloc( len + 1);
*buffer = buf;
W_Read( buf, len, h);
buf[len] = 0;
fclose( h);
return len;
}
void I_strncpy( char *dest, char *src, int count)
{
while ( *src && count--)
*dest++ = *src++;
if ( count)
*dest++ = 0;
}
void I_sprintf( char *dest, int size, char *fmt, ...)
{
int len;
va_list argptr;
char bigbuffer[BUFFER_SIZE];
if ( size > BUFFER_SIZE)
W_Error( "I_sprintf: size is > 64k\n");
va_start( argptr, fmt);
len = vsprintf( bigbuffer, fmt, argptr);
va_end( argptr);
I_strncpy( dest, bigbuffer, size - 1);
}
int main( int argc, char **argv)
{
int i, j, dontadd, linelen;
char *ob, *token;
FILE *f;
W_LoadFile( "input.txt", &inbuf);
token = inbuf;
ob = &outbuf[0];
linelen = 0;
for ( i = 0; i < strlen( token); i++)
{
dontadd = 0;
if ( token[i] == '&')
{
I_sprintf( ob, BUFFER_SIZE - ( ob - &outbuf[0]), "&[b][/b]");
ob += 8;
dontadd = 1;
}
if ( token[i] == ' ')
{
I_sprintf( ob, BUFFER_SIZE - ( ob - &outbuf[0]), " ");
ob += 6;
dontadd = 1;
}
if ( token[i] == '\x9')
{
int len;
len = 8 - ( linelen % 8);
for ( j = 0; j < len; j++, ob += 6)
I_sprintf( ob, BUFFER_SIZE - ( ob - &outbuf[0]), " ");
dontadd = 1;
}
if ( token[i] == ':')
{
I_sprintf( ob, BUFFER_SIZE - ( ob - &outbuf[0]), ":[b][/b]");
ob += 8;
dontadd = 1;
}
if ( token[i] == '[')
{
I_sprintf( ob, BUFFER_SIZE - ( ob - &outbuf[0]), "[[b][/b]");
ob += 8;
dontadd = 1;
}
if ( token[i] == '\"')
{
I_sprintf( ob, BUFFER_SIZE - ( ob - &outbuf[0]), """);
ob += 6;
dontadd = 1;
}
linelen++;
if ( token[i] == '\n')
{
*ob++ = '\n';
dontadd = 1;
linelen = 0;
}
if ( token[i] == '\r')
{
linelen = 0;
dontadd = 1;
}
if ( dontadd == 0)
*ob++ = token[i];
}
f = fopen( "output.txt", "w");
fprintf( f, "%s", outbuf);
fclose( f);
*ob = 0;
return 0;
} -
QuarK
senior tag
Egyelőre nem szimatolok lincshangulatot, így beillesztek ide egy forráskódot, aminek segítségével mások által beillesztett forráskód is ilyen szépen lesz formázva, nem díszítik smiley-k, és az aposztrof gond se jön elő. A lényeg: kódrészlet az input.txt-ben, pre futtatása, output.txt tartalmazza, amit a hsz-be írni kell...
Remélem műxik.
Aktív témák
- Tőzsde és gazdaság
- Autós topik
- Kertészet, mezőgazdaság topik
- RETRO beárazás (mobil, PC, konzol)
- Okos Otthon / Smart Home
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- Elemlámpa, zseblámpa
- AMD GPU-k jövője - amit tudni vélünk
- Mesterséges intelligencia topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- További aktív témák...
- Apple iPhone 11 64GB,Újszerű,Dobozaval,12 hónap garanciával
- Apple iPhone SE 2022 64GB - Kártyafüggetlen, Éjfekete, 91% Akku - 1 Év Garanciával
- Jawbone Up okoskarkötő, aktivitásmérő
- Dell és HP szerver HDD caddy keretek, adapterek. Több száz darab készleten, szállítás akár másnapra
- BESZÁMÍTÁS! 1TB Samsung 980 M.2. NVMe SSD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


Most nézem, hogy a tabot nemcsak \x9, hanem \t is jelölheti C++-ban. 
