<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NeoEGM.com &#187; DOS</title>
	<atom:link href="https://www.neoegm.com/tag/dos/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.neoegm.com</link>
	<description>Knowledge is inside</description>
	<lastBuildDate>Mon, 08 Jul 2024 05:38:01 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.39</generator>
	<item>
		<title>How to compile C++ console programs which support special characters (ISO-8859-1)</title>
		<link>https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/</link>
		<comments>https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 05:00:24 +0000</pubDate>
		<dc:creator><![CDATA[NeoEGM]]></dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[ASCII]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Charset]]></category>
		<category><![CDATA[Compile]]></category>
		<category><![CDATA[DOS]]></category>
		<category><![CDATA[G++]]></category>
		<category><![CDATA[GCC]]></category>
		<category><![CDATA[Hard-coded]]></category>
		<category><![CDATA[iconv]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[ISO-8859-1]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Special Characters]]></category>
		<category><![CDATA[Strings]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[wxDev]]></category>

		<guid isPermaLink="false">http://www.neoegm.com/?p=1000</guid>
		<description><![CDATA[The GCC compiler (or G++) does not always work with our source code files just as we would expect it to. This specially happens when there are special characters in our files (the ones with ASCII codes higher than 127). Take the following program as a sample (the strings are written in spanish): Let&#8217;s compile [&#8230;]<div class='yarpp-related-rss'>
<strong>
Related posts:<ol>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" rel="bookmark" title="Attendance Control">Attendance Control </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-string-class/" rel="bookmark" title="Simple C++ String Class">Simple C++ String Class </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-list-class/" rel="bookmark" title="Simple C++ List Class">Simple C++ List Class </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p>The GCC compiler (or G++) does not always work with our source code files just as we would expect it to. This specially happens when there are special characters in our files (the ones with ASCII codes higher than 127).</p>
<p>Take the following program as a sample (the strings are written in spanish):</p>
<pre class="brush: cpp; title: ; notranslate">
#include &lt;iostream&gt;
using std::cout;
using std::cin;
using std::endl;

#include &lt;string&gt;
using std::string;

int main()
{
	string sDummy;

	cout &lt;&lt; &quot;Por favor ingrese su contraseña: &quot;;
	cin &gt;&gt; sDummy;

	cout &lt;&lt; endl;
	cout &lt;&lt; &quot;Su contraseña es inválida, por favor verifíquela e inténtelo nuevamente. Ha ingresado: '&quot; &lt;&lt; sDummy &lt;&lt; &quot;'.&quot; &lt;&lt; endl;

	return 0;
}
</pre>
<p>Let&#8217;s compile it&#8230; </p>

<pre class="console">
g++ TestChars.cpp -o TestChars.exe
</pre>
<p>And execute it&#8230; We can easily imagine the output&#8230; But&#8230; This is what we get:</p>

<pre class="console">
Por favor ingrese su contrase±a: contraseña

Su contrase±a es invßlida, por favor veriffquela e intTntelo nuevamente. Ha ingresado: 'contraseña'.
</pre>
<p>Notice that the string that we&#8217;ve just typed (&#8220;contraseña&#8221;) gets correctly printed, while the ones hard-coded in the program don&#8217;t.</p>
<p>So&#8230; What can we do?</p>
<p>Well, there are some compiler command line parameters ready to help us&#8230; They are the <a href="http://gcc.gnu.org/onlinedocs/cpp/Invocation.html#index-character-set_002c-input-178">finput-charset</a> and <a href="http://gcc.gnu.org/onlinedocs/cpp/Invocation.html#index-fexec_002dcharset-173">fexec-charset</a> command line arguments&#8230;</p>
<p>Both take as additional parameter a <em>charset</em> name from the ones supported by the compiler&#8230;</p>
<p>For the interested ones, here is the output of the charsets supported by the library that GCC uses to make the conversion&#8230; They may not be the same on every system&#8230;</p>
<pre class="brush: plain; collapse: true; light: false; title: ; toolbar: true; notranslate">
# iconv --list
The following list contain all the coded character sets known.  This does not necessarily mean that all combinations of these names can be used for the FROM and TO command line parameters.  One coded character set can be listed with several different names (aliases).

437, 500, 500V1, 850, 851, 852, 855, 856, 857, 860, 861, 862, 863, 864, 865, 866, 866NAV, 869, 874, 904, 1026, 1046, 1047, 8859_1, 8859_2, 8859_3, 8859_4, 8859_5, 8859_6, 8859_7, 8859_8, 8859_9, 10646-1:1993, 10646-1:1993/UCS4, ANSI_X3.4-1968, ANSI_X3.4-1986, ANSI_X3.4, ANSI_X3.110-1983, ANSI_X3.110, ARABIC, ARABIC7, ARMSCII-8, ASCII, ASMO-708, ASMO_449, BALTIC, BIG-5, BIG-FIVE, BIG5-HKSCS, BIG5, BIG5HKSCS, BIGFIVE, BRF, BS_4730, CA, CN-BIG5, CN-GB, CN, CP-AR, CP-GR, CP-HU, CP037, CP038, CP273, CP274, CP275, CP278, CP280, CP281, CP282, CP284, CP285, CP290, CP297, CP367, CP420, CP423, CP424, CP437, CP500, CP737, CP775, CP803, CP813, CP819, CP850, CP851, CP852, CP855, CP856, CP857, CP860, CP861, CP862, CP863, CP864, CP865, CP866, CP866NAV, CP868, CP869, CP870, CP871, CP874, CP875, CP880, CP891, CP901, CP902, CP903, CP904, CP905, CP912, CP915, CP916, CP918, CP920, CP921, CP922, CP930, CP932, CP933, CP935, CP936, CP937, CP939, CP949, CP950, CP1004, CP1008, CP1025, CP1026, CP1046, CP1047, CP1070, CP1079, CP1081, CP1084, CP1089, CP1097, CP1112, CP1122, CP1123, CP1124, CP1125, CP1129, CP1130, CP1132, CP1133, CP1137, CP1140, CP1141, CP1142, CP1143, CP1144, CP1145, CP1146, CP1147, CP1148, CP1149, CP1153, CP1154, CP1155, CP1156, CP1157, CP1158, CP1160, CP1161, CP1162, CP1163, CP1164, CP1166, CP1167, CP1250, CP1251, CP1252, CP1253, CP1254, CP1255, CP1256, CP1257, CP1258, CP1282, CP1361, CP1364, CP1371, CP1388, CP1390, CP1399, CP4517, CP4899, CP4909, CP4971, CP5347, CP9030, CP9066, CP9448, CP10007, CP12712, CP16804, CPIBM861, CSA7-1, CSA7-2, CSASCII, CSA_T500-1983, CSA_T500, CSA_Z243.4-1985-1, CSA_Z243.4-1985-2, CSA_Z243.419851, CSA_Z243.419852, CSDECMCS, CSEBCDICATDE, CSEBCDICATDEA, CSEBCDICCAFR, CSEBCDICDKNO, CSEBCDICDKNOA, CSEBCDICES, CSEBCDICESA, CSEBCDICESS, CSEBCDICFISE, CSEBCDICFISEA, CSEBCDICFR, CSEBCDICIT, CSEBCDICPT, CSEBCDICUK, CSEBCDICUS, CSEUCKR, CSEUCPKDFMTJAPANESE, CSGB2312, CSHPROMAN8, CSIBM037, CSIBM038, CSIBM273, CSIBM274, CSIBM275, CSIBM277, CSIBM278, CSIBM280, CSIBM281, CSIBM284, CSIBM285, CSIBM290, CSIBM297, CSIBM420, CSIBM423, CSIBM424, CSIBM500, CSIBM803, CSIBM851, CSIBM855, CSIBM856, CSIBM857, CSIBM860, CSIBM863, CSIBM864, CSIBM865, CSIBM866, CSIBM868, CSIBM869, CSIBM870, CSIBM871, CSIBM880, CSIBM891, CSIBM901, CSIBM902, CSIBM903, CSIBM904, CSIBM905, CSIBM918, CSIBM921, CSIBM922, CSIBM930, CSIBM932, CSIBM933, CSIBM935, CSIBM937, CSIBM939, CSIBM943, CSIBM1008, CSIBM1025, CSIBM1026, CSIBM1097, CSIBM1112, CSIBM1122, CSIBM1123, CSIBM1124, CSIBM1129, CSIBM1130, CSIBM1132, CSIBM1133, CSIBM1137, CSIBM1140, CSIBM1141, CSIBM1142, CSIBM1143, CSIBM1144, CSIBM1145, CSIBM1146, CSIBM1147, CSIBM1148, CSIBM1149, CSIBM1153, CSIBM1154, CSIBM1155, CSIBM1156, CSIBM1157, CSIBM1158, CSIBM1160, CSIBM1161, CSIBM1163, CSIBM1164, CSIBM1166, CSIBM1167, CSIBM1364, CSIBM1371, CSIBM1388, CSIBM1390, CSIBM1399, CSIBM4517, CSIBM4899, CSIBM4909, CSIBM4971, CSIBM5347, CSIBM9030, CSIBM9066, CSIBM9448, CSIBM12712, CSIBM16804, CSIBM11621162, CSISO4UNITEDKINGDOM, CSISO10SWEDISH, CSISO11SWEDISHFORNAMES, CSISO14JISC6220RO, CSISO15ITALIAN, CSISO16PORTUGESE, CSISO17SPANISH, CSISO18GREEK7OLD, CSISO19LATINGREEK, CSISO21GERMAN, CSISO25FRENCH, CSISO27LATINGREEK1, CSISO49INIS, CSISO50INIS8, CSISO51INISCYRILLIC, CSISO58GB1988, CSISO60DANISHNORWEGIAN, CSISO60NORWEGIAN1, CSISO61NORWEGIAN2, CSISO69FRENCH, CSISO84PORTUGUESE2, CSISO85SPANISH2, CSISO86HUNGARIAN, CSISO88GREEK7, CSISO89ASMO449, CSISO90, CSISO92JISC62991984B, CSISO99NAPLPS, CSISO103T618BIT, CSISO111ECMACYRILLIC, CSISO121CANADIAN1, CSISO122CANADIAN2, CSISO139CSN369103, CSISO141JUSIB1002, CSISO143IECP271, CSISO150, CSISO150GREEKCCITT, CSISO151CUBA, CSISO153GOST1976874, CSISO646DANISH, CSISO2022CN, CSISO2022JP, CSISO2022JP2, CSISO2022KR, CSISO2033, CSISO5427CYRILLIC, CSISO5427CYRILLIC1981, CSISO5428GREEK, CSISO10367BOX, CSISOLATIN1, CSISOLATIN2, CSISOLATIN3, CSISOLATIN4, CSISOLATIN5, CSISOLATIN6, CSISOLATINARABIC, CSISOLATINCYRILLIC, CSISOLATINGREEK, CSISOLATINHEBREW, CSKOI8R, CSKSC5636, CSMACINTOSH, CSNATSDANO, CSNATSSEFI, CSN_369103, CSPC8CODEPAGE437, CSPC775BALTIC, CSPC850MULTILINGUAL, CSPC862LATINHEBREW, CSPCP852, CSSHIFTJIS, CSUCS4, CSUNICODE, CSWINDOWS31J, CUBA, CWI-2, CWI, CYRILLIC, DE, DEC-MCS, DEC, DECMCS, DIN_66003, DK, DS2089, DS_2089, E13B, EBCDIC-AT-DE-A, EBCDIC-AT-DE, EBCDIC-BE, EBCDIC-BR, EBCDIC-CA-FR, EBCDIC-CP-AR1, EBCDIC-CP-AR2, EBCDIC-CP-BE, EBCDIC-CP-CA, EBCDIC-CP-CH, EBCDIC-CP-DK, EBCDIC-CP-ES, EBCDIC-CP-FI, EBCDIC-CP-FR, EBCDIC-CP-GB, EBCDIC-CP-GR, EBCDIC-CP-HE, EBCDIC-CP-IS, EBCDIC-CP-IT, EBCDIC-CP-NL, EBCDIC-CP-NO, EBCDIC-CP-ROECE, EBCDIC-CP-SE, EBCDIC-CP-TR, EBCDIC-CP-US, EBCDIC-CP-WT, EBCDIC-CP-YU, EBCDIC-CYRILLIC, EBCDIC-DK-NO-A, EBCDIC-DK-NO, EBCDIC-ES-A, EBCDIC-ES-S, EBCDIC-ES, EBCDIC-FI-SE-A, EBCDIC-FI-SE, EBCDIC-FR, EBCDIC-GREEK, EBCDIC-INT, EBCDIC-INT1, EBCDIC-IS-FRISS, EBCDIC-IT, EBCDIC-JP-E, EBCDIC-JP-KANA, EBCDIC-PT, EBCDIC-UK, EBCDIC-US, EBCDICATDE, EBCDICATDEA, EBCDICCAFR, EBCDICDKNO, EBCDICDKNOA, EBCDICES, EBCDICESA, EBCDICESS, EBCDICFISE, EBCDICFISEA, EBCDICFR, EBCDICISFRISS, EBCDICIT, EBCDICPT, EBCDICUK, EBCDICUS, ECMA-114, ECMA-118, ECMA-128, ECMA-CYRILLIC, ECMACYRILLIC, ELOT_928, ES, ES2, EUC-CN, EUC-JISX0213, EUC-JP-MS, EUC-JP, EUC-KR, EUC-TW, EUCCN, EUCJP-MS, EUCJP-OPEN, EUCJP-WIN, EUCJP, EUCKR, EUCTW, FI, FR, GB, GB2312, GB13000, GB18030, GBK, GB_1988-80, GB_198880, GEORGIAN-ACADEMY, GEORGIAN-PS, GOST_19768-74, GOST_19768, GOST_1976874, GREEK-CCITT, GREEK, GREEK7-OLD, GREEK7, GREEK7OLD, GREEK8, GREEKCCITT, HEBREW, HP-GREEK8, HP-ROMAN8, HP-ROMAN9, HP-THAI8, HP-TURKISH8, HPGREEK8, HPROMAN8, HPROMAN9, HPTHAI8, HPTURKISH8, HU, IBM-803, IBM-856, IBM-901, IBM-902, IBM-921, IBM-922, IBM-930, IBM-932, IBM-933, IBM-935, IBM-937, IBM-939, IBM-943, IBM-1008, IBM-1025, IBM-1046, IBM-1047, IBM-1097, IBM-1112, IBM-1122, IBM-1123, IBM-1124, IBM-1129, IBM-1130, IBM-1132, IBM-1133, IBM-1137, IBM-1140, IBM-1141, IBM-1142, IBM-1143, IBM-1144, IBM-1145, IBM-1146, IBM-1147, IBM-1148, IBM-1149, IBM-1153, IBM-1154, IBM-1155, IBM-1156, IBM-1157, IBM-1158, IBM-1160, IBM-1161, IBM-1162, IBM-1163, IBM-1164, IBM-1166, IBM-1167, IBM-1364, IBM-1371, IBM-1388, IBM-1390, IBM-1399, IBM-4517, IBM-4899, IBM-4909, IBM-4971, IBM-5347, IBM-9030, IBM-9066, IBM-9448, IBM-12712, IBM-16804, IBM037, IBM038, IBM256, IBM273, IBM274, IBM275, IBM277, IBM278, IBM280, IBM281, IBM284, IBM285, IBM290, IBM297, IBM367, IBM420, IBM423, IBM424, IBM437, IBM500, IBM775, IBM803, IBM813, IBM819, IBM848, IBM850, IBM851, IBM852, IBM855, IBM856, IBM857, IBM860, IBM861, IBM862, IBM863, IBM864, IBM865, IBM866, IBM866NAV, IBM868, IBM869, IBM870, IBM871, IBM874, IBM875, IBM880, IBM891, IBM901, IBM902, IBM903, IBM904, IBM905, IBM912, IBM915, IBM916, IBM918, IBM920, IBM921, IBM922, IBM930, IBM932, IBM933, IBM935, IBM937, IBM939, IBM943, IBM1004, IBM1008, IBM1025, IBM1026, IBM1046, IBM1047, IBM1089, IBM1097, IBM1112, IBM1122, IBM1123, IBM1124, IBM1129, IBM1130, IBM1132, IBM1133, IBM1137, IBM1140, IBM1141, IBM1142, IBM1143, IBM1144, IBM1145, IBM1146, IBM1147, IBM1148, IBM1149, IBM1153, IBM1154, IBM1155, IBM1156, IBM1157, IBM1158, IBM1160, IBM1161, IBM1162, IBM1163, IBM1164, IBM1166, IBM1167, IBM1364, IBM1371, IBM1388, IBM1390, IBM1399, IBM4517, IBM4899, IBM4909, IBM4971, IBM5347, IBM9030, IBM9066, IBM9448, IBM12712, IBM16804, IEC_P27-1, IEC_P271, INIS-8, INIS-CYRILLIC, INIS, INIS8, INISCYRILLIC, ISIRI-3342, ISIRI3342, ISO-2022-CN-EXT, ISO-2022-CN, ISO-2022-JP-2, ISO-2022-JP-3, ISO-2022-JP, ISO-2022-KR, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-9E, ISO-8859-10, ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16, ISO-10646, ISO-10646/UCS2, ISO-10646/UCS4, ISO-10646/UTF-8, ISO-10646/UTF8, ISO-CELTIC, ISO-IR-4, ISO-IR-6, ISO-IR-8-1, ISO-IR-9-1, ISO-IR-10, ISO-IR-11, ISO-IR-14, ISO-IR-15, ISO-IR-16, ISO-IR-17, ISO-IR-18, ISO-IR-19, ISO-IR-21, ISO-IR-25, ISO-IR-27, ISO-IR-37, ISO-IR-49, ISO-IR-50, ISO-IR-51, ISO-IR-54, ISO-IR-55, ISO-IR-57, ISO-IR-60, ISO-IR-61, ISO-IR-69, ISO-IR-84, ISO-IR-85, ISO-IR-86, ISO-IR-88, ISO-IR-89, ISO-IR-90, ISO-IR-92, ISO-IR-98, ISO-IR-99, ISO-IR-100, ISO-IR-101, ISO-IR-103, ISO-IR-109, ISO-IR-110, ISO-IR-111, ISO-IR-121, ISO-IR-122, ISO-IR-126, ISO-IR-127, ISO-IR-138, ISO-IR-139, ISO-IR-141, ISO-IR-143, ISO-IR-144, ISO-IR-148, ISO-IR-150, ISO-IR-151, ISO-IR-153, ISO-IR-155, ISO-IR-156, ISO-IR-157, ISO-IR-166, ISO-IR-179, ISO-IR-193, ISO-IR-197, ISO-IR-199, ISO-IR-203, ISO-IR-209, ISO-IR-226, ISO/TR_11548-1, ISO646-CA, ISO646-CA2, ISO646-CN, ISO646-CU, ISO646-DE, ISO646-DK, ISO646-ES, ISO646-ES2, ISO646-FI, ISO646-FR, ISO646-FR1, ISO646-GB, ISO646-HU, ISO646-IT, ISO646-JP-OCR-B, ISO646-JP, ISO646-KR, ISO646-NO, ISO646-NO2, ISO646-PT, ISO646-PT2, ISO646-SE, ISO646-SE2, ISO646-US, ISO646-YU, ISO2022CN, ISO2022CNEXT, ISO2022JP, ISO2022JP2, ISO2022KR, ISO6937, ISO8859-1, ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6, ISO8859-7, ISO8859-8, ISO8859-9, ISO8859-9E, ISO8859-10, ISO8859-11, ISO8859-13, ISO8859-14, ISO8859-15, ISO8859-16, ISO11548-1, ISO88591, ISO88592, ISO88593, ISO88594, ISO88595, ISO88596, ISO88597, ISO88598, ISO88599, ISO88599E, ISO885910, ISO885911, ISO885913, ISO885914, ISO885915, ISO885916, ISO_646.IRV:1991, ISO_2033-1983, ISO_2033, ISO_5427-EXT, ISO_5427, ISO_5427:1981, ISO_5427EXT, ISO_5428, ISO_5428:1980, ISO_6937-2, ISO_6937-2:1983, ISO_6937, ISO_6937:1992, ISO_8859-1, ISO_8859-1:1987, ISO_8859-2, ISO_8859-2:1987, ISO_8859-3, ISO_8859-3:1988, ISO_8859-4, ISO_8859-4:1988, ISO_8859-5, ISO_8859-5:1988, ISO_8859-6, ISO_8859-6:1987, ISO_8859-7, ISO_8859-7:1987, ISO_8859-7:2003, ISO_8859-8, ISO_8859-8:1988, ISO_8859-9, ISO_8859-9:1989, ISO_8859-9E, ISO_8859-10, ISO_8859-10:1992, ISO_8859-14, ISO_8859-14:1998, ISO_8859-15, ISO_8859-15:1998, ISO_8859-16, ISO_8859-16:2001, ISO_9036, ISO_10367-BOX, ISO_10367BOX, ISO_11548-1, ISO_69372, IT, JIS_C6220-1969-RO, JIS_C6229-1984-B, JIS_C62201969RO, JIS_C62291984B, JOHAB, JP-OCR-B, JP, JS, JUS_I.B1.002, KOI-7, KOI-8, KOI8-R, KOI8-RU, KOI8-T, KOI8-U, KOI8, KOI8R, KOI8U, KSC5636, L1, L2, L3, L4, L5, L6, L7, L8, L10, LATIN-9, LATIN-GREEK-1, LATIN-GREEK, LATIN1, LATIN2, LATIN3, LATIN4, LATIN5, LATIN6, LATIN7, LATIN8, LATIN10, LATINGREEK, LATINGREEK1, MAC-CENTRALEUROPE, MAC-CYRILLIC, MAC-IS, MAC-SAMI, MAC-UK, MAC, MACCYRILLIC, MACINTOSH, MACIS, MACUK, MACUKRAINIAN, MIK, MS-ANSI, MS-ARAB, MS-CYRL, MS-EE, MS-GREEK, MS-HEBR, MS-MAC-CYRILLIC, MS-TURK, MS932, MS936, MSCP949, MSCP1361, MSMACCYRILLIC, MSZ_7795.3, MS_KANJI, NAPLPS, NATS-DANO, NATS-SEFI, NATSDANO, NATSSEFI, NC_NC0010, NC_NC00-10, NC_NC00-10:81, NF_Z_62-010, NF_Z_62-010_(1973), NF_Z_62-010_1973, NF_Z_62010, NF_Z_62010_1973, NO, NO2, NS_4551-1, NS_4551-2, NS_45511, NS_45512, OS2LATIN1, OSF00010001, OSF00010002, OSF00010003, OSF00010004, OSF00010005, OSF00010006, OSF00010007, OSF00010008, OSF00010009, OSF0001000A, OSF00010020, OSF00010100, OSF00010101, OSF00010102, OSF00010104, OSF00010105, OSF00010106, OSF00030010, OSF0004000A, OSF0005000A, OSF05010001, OSF100201A4, OSF100201A8, OSF100201B5, OSF100201F4, OSF100203B5, OSF1002011C, OSF1002011D, OSF1002035D, OSF1002035E, OSF1002035F, OSF1002036B, OSF1002037B, OSF10010001, OSF10010004, OSF10010006, OSF10020025, OSF10020111, OSF10020115, OSF10020116, OSF10020118, OSF10020122, OSF10020129, OSF10020352, OSF10020354, OSF10020357, OSF10020359, OSF10020360, OSF10020364, OSF10020365, OSF10020366, OSF10020367, OSF10020370, OSF10020387, OSF10020388, OSF10020396, OSF10020402, OSF10020417, PT, PT2, PT154, R8, R9, RK1048, ROMAN8, ROMAN9, RUSCII, SE, SE2, SEN_850200_B, SEN_850200_C, SHIFT-JIS, SHIFT_JIS, SHIFT_JISX0213, SJIS-OPEN, SJIS-WIN, SJIS, SS636127, STRK1048-2002, ST_SEV_358-88, T.61-8BIT, T.61, T.618BIT, TCVN-5712, TCVN, TCVN5712-1, TCVN5712-1:1993, THAI8, TIS-620, TIS620-0, TIS620.2529-1, TIS620.2533-0, TIS620, TS-5881, TSCII, TURKISH8, UCS-2, UCS-2BE, UCS-2LE, UCS-4, UCS-4BE, UCS-4LE, UCS2, UCS4, UHC, UJIS, UK, UNICODE, UNICODEBIG, UNICODELITTLE, US-ASCII, US, UTF-7, UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, UTF7, UTF8, UTF16, UTF16BE, UTF16LE, UTF32, UTF32BE, UTF32LE, VISCII, WCHAR_T, WIN-SAMI-2, WINBALTRIM, WINDOWS-31J, WINDOWS-874, WINDOWS-936, WINDOWS-1250, WINDOWS-1251, WINDOWS-1252, WINDOWS-1253, WINDOWS-1254, WINDOWS-1255, WINDOWS-1256, WINDOWS-1257, WINDOWS-1258, WINSAMI2, WS2, YU
</pre>
<p>The first parameter, <strong><em>finput-charset</em></strong>, is the charset used to <strong>read</strong> the source code files&#8230; The second one, fexec-charset</em></strong>, is the used to store the strings and character constants <strong>in the executable file</strong>, so they will be shown correctly while running&#8230;</p>
<p>So, assuming you&#8217;re writing your source files in <strong><em><a href="http://en.wikipedia.org/wiki/ISO/IEC_8859-1">iso-8859-1</a></em></strong> (the most common charset on Windows platforms) and want to show them while running in <strong><em><a href="http://en.wikipedia.org/wiki/Code_page_437">cp437</a></strong></em> (the DOS console charset), we could call the compiler like this:</p>

<pre class="console">
g++ TestChars.cpp -o TestChars.exe -finput-charset=iso-8859-1 -fexec-charset=cp437
</pre>
<p>And what do we expect to get? <img src="https://www.neoegm.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>

<pre class="console">
Por favor ingrese su contraseña: contraseña

Su contraseña es inválida, por favor verifíquela e inténtelo nuevamente. Ha ingresado: 'contraseña'.
</pre>
<p>Everything worked just the way we expected! <img src="https://www.neoegm.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Now, finally, I&#8217;ll show how to configure these command line options for the wxDev IDE&#8230;</p>
<p>First of all, I must say there are two ways to set compiler options: global options and project options&#8230; As you may imagine, the first ones are applied to every compiled project, while the latter just get applied to the currently opened project (they are set in a per project basis)&#8230;</p>
<p>To set the parameters in the global compiler options you must got to the Tools menu and then open the Compiler Options item&#8230;</p>
<p><img src="http://www.neoegm.com/wp-content/uploads/2009/08/Main_Menu_EN.png" alt="Main_Menu_EN" title="Main_Menu_EN" width="236" height="229" class="aligncenter size-full wp-image-1006" /></p>
<p>After that, you simply enter the following string (the parameters) into the &#8220;Add the following commands when calling compiler&#8221; box:</p>
<pre class="brush: plain; light: true; title: ; notranslate">
-finput-charset=iso-8859-1 -fexec-charset=cp437
</pre>
<p>If there are already other parameters configured, you should append them&#8230;</p>
<p><img src="http://www.neoegm.com/wp-content/uploads/2009/08/Main_Compiler_Options_Filled_EN.png" alt="Main_Compiler_Options_Filled_EN" title="Main_Compiler_Options_Filled_EN" width="477" height="503" class="aligncenter size-full wp-image-1004" /></p>
<p>They will be sent to both the C compiler and the C++ compiler&#8230;</p>
<p>The other alternative is to set the same parameters in the project options&#8230;</p>
<p>First, we open the project options&#8230; Either going to Project->Project Options or right clicking the project and going to &#8220;Project Options&#8221;&#8230;</p>
<p><img src="http://www.neoegm.com/wp-content/uploads/2009/08/Project_Menu_EN.png" alt="Project_Menu_EN" title="Project_Menu_EN" width="278" height="235" class="aligncenter size-full wp-image-1008" /></p>
<p>Then, we go to the Parameters page and paste the parameters string in the two compiler boxes&#8230; Both parameters can be entered either in a single line or broken apart&#8230; Just as before, if there are already other parameters configured, you should append them&#8230;</p>
<p><a href="http://www.neoegm.com/wp-content/uploads/2009/08/Project_Options_Parameters_Filled_EN.png" rel="lightbox[1000]"><img src="http://www.neoegm.com/wp-content/uploads/2009/08/Project_Options_Parameters_Filled_EN-299x222.png" alt="Project_Options_Parameters_Filled_EN" title="Project_Options_Parameters_Filled_EN" width="299" height="222" class="aligncenter size-medium wp-image-1002" /></a></p>
<p>Whell, that&#8217;s all&#8230; Most IDEs will have similar options!<br />
<h4>Incoming search terms for the article:</h4>
<ul>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/" title="Programming|NeoEGM com">Programming|NeoEGM com</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/" title="graficos del diapason de la guitarra">graficos del diapason de la guitarra</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/" title="mail czset cn loc:ES">mail czset cn loc:ES</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/" title="mail gpl com cn loc:ES">mail gpl com cn loc:ES</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/" title="mail gino com cn loc:ES">mail gino com cn loc:ES</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/" title="wxDev|NeoEGM com">wxDev|NeoEGM com</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/" title="mail ecma-music com loc:ES">mail ecma-music com loc:ES</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/" title="mail sami com cn loc:ES">mail sami com cn loc:ES</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/" title="where r the notes on a quitar">where r the notes on a quitar</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/" title="email ecma-music com loc:ES">email ecma-music com loc:ES</a></li>
</ul>
<div class='yarpp-related-rss'>
<strong><p>Related posts:<ol>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" rel="bookmark" title="Attendance Control">Attendance Control </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-string-class/" rel="bookmark" title="Simple C++ String Class">Simple C++ String Class </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-list-class/" rel="bookmark" title="Simple C++ List Class">Simple C++ List Class </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.neoegm.com/tech/programming/c-cpp/how-to-compile-c-console-programs-which-support-special-characters-iso-8859-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Attendance Control</title>
		<link>https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/</link>
		<comments>https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 21:00:42 +0000</pubDate>
		<dc:creator><![CDATA[NeoEGM]]></dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Attendance]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Control]]></category>
		<category><![CDATA[DOS]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Exercise]]></category>
		<category><![CDATA[Freeware]]></category>
		<category><![CDATA[GNU GPL]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Portable]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[wxDev]]></category>

		<guid isPermaLink="false">http://www.neoegm.com/?p=476</guid>
		<description><![CDATA[&#8220;Attendance Control&#8221; is a console application made as an exercise to integrate the different C++ concepts taught in class up to the middle of the year. The main objective is to be able to develop a employee attendance control which records the times (and justifications, if corresponding) of each time the employees arrive, go to [&#8230;]<div class='yarpp-related-rss'>
<strong>
Related posts:<ol>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/wxwidgets/wx-control-de-asistencia/" rel="bookmark" title="Attendance Control (wxWidgets Version)">Attendance Control (wxWidgets Version) </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-list-class/" rel="bookmark" title="Simple C++ List Class">Simple C++ List Class </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-string-class/" rel="bookmark" title="Simple C++ String Class">Simple C++ String Class </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p>&#8220;Attendance Control&#8221; is a console application made as an <strong>exercise</strong> to integrate the different C++ concepts taught in class up to the middle of the year.</p>
<p>The main objective is to be able to develop a employee attendance control which records the times (and justifications, if corresponding) of each time the employees arrive, go to lunch, return from lunch and go back to home.</p>

<pre class="console">Sistema de control de asistencia de personal
--------------------------------------------

DNI:

</pre>
<p><span id="more-476"></span></p>
<p>The complete wording says:</p>
<blockquote><p>
Develop an employee attendance control system (for later verification of absences and late arrivals with their corresponding justifications) and its managemente private part (user registration and gathered data visualization).</p>
<p>The main screen must staywaiting for ID <strong>[DNI]</strong> and password.</p>
<p>There must be a preset admin user with <strong>DNI</strong> = -1234 and Password = prueba.</p>
<p>In case of being an administrator user, you&#8217;ll be able to access the management part, with the following options:</p>
<p>	1- Alta de usuario <em>[New user]</em><br />
	2- Lista de usuarios (datos adquiridos) <em>[User list (gathered data)]</em><br />
	3- Salida a archivo <em>[Output to file]</em><br />
	4- Cerrar la aplicación <em>[Close the application]</em><br />
	0- Volver a la pantalla principal <em>[Back to the main screen]</em></p>
<p>Otherwise, it will be asked which kind of action are you about to do (Arrival <strong>[Ingreso]</strong>, return to home <strong>[Salida]</strong>, lunch <strong>[Salida a almuerzo]</strong> or return from lunch <strong>[Retorno de almuerzo]</strong>) and its justification in case it corresponds, and they will be recorded along with the current time in a &#8220;Events&#8221; record of the corresponding user.</p>
<p>The user required data is:<br />
	DNI <em>[ID]</em><br />
	Nombre completo <em>[Full name]</em><br />
	Contraseña <em>[Password]</em><br />
	Si es administrador <em>[Whether it is administrator]</em><br />
	Eventos relacionados <em>[Related events]</em></p>
<p>It&#8217;s desired to use as a base the class &#8220;PersonaBasica&#8221; <em>[Basic person]</em> which has already been developed by the IT department, whose header file &#8220;PersonaBasica.h&#8221; is attached below:</p>
<pre class="brush: cpp; title: ; notranslate">
#include &quot;String.h&quot;
#include &lt;iostream&gt;

class PersonaBasica
{
	String m_sNombreCompleto;
	long m_nDNI;

public:
	//Construcción
	PersonaBasica() { m_nDNI = 0; }

	//Encapsulaciones
	long DNI() const { return m_nDNI; }
	void DNI(long val) { m_nDNI = val; }

	String NombreCompleto() const { return m_sNombreCompleto; }
	void NombreCompleto(String val) { m_sNombreCompleto = val; }
};

std::ostream&amp; operator&lt;&lt;(std::ostream&amp; oStream, PersonaBasica&amp; rpPersonaBasica);
</pre>
<p>Note: the lengths of the data to be registered is completely unknown and rumors are circulating that the users are used to write pretty elaborate justifications.
</p></blockquote>
<p>When you first start the program, you can only log in as admin (-1234:prueba)&#8230;</p>

<pre class="console">Sistema de control de asistencia de personal
--------------------------------------------

DNI: -1234
Contraseña: prueba
Usuario "Administrador" reconocido.

Presione una tecla para continuar...

</pre>
<p>Then, you&#8217;ll get to the administration menu:</p>

<pre class="console">Sistema de control de asistencia de personal (ADMNISTRACION)
------------------------------------------------------------

1- Alta de usuario
2- Lista de usuarios (datos adquiridos)
3- Salida a archivo
4- Cerrar la aplicación
0- Volver a la pantalla principal

Ingrese la opción deseada:

</pre>
<p>The next step should be registering the different users using the first option:</p>

<pre class="console">Sistema de control de asistencia de personal (Alta de usuario)
--------------------------------------------------------------

DNI: 12345678
Nombre completo: Pedro Gutierrez
Password: 123bbb
Administrador [1 = Sí/0 = No]: 0

Persona agregada satisfatoriamente.

Presione una tecla para continuar...

</pre>
<p>After that, they&#8217;ll be able to sign in themselves:</p>

<pre class="console">Sistema de control de asistencia de personal
--------------------------------------------

DNI: 12345678
Contraseña: 123bbb
Usuario "Pedro Gutierrez" reconocido.

Presione una tecla para continuar...

</pre>
<p>So they&#8217;ll get into the attendance screen to record their actions:</p>

<pre class="console">Asistencia de "Pedro Gutierrez"
-------------------------------

Tipo de asistencia:
        1- Ingreso
        2- Salida
        3- Salida a almorzar
        4- Vuelta de almorzar
Selección: 1

Justificación (si corresponde): Llegué tarde porque había
corte de calles.

Evento agregado satisfactoriamente.

Presione una tecla para continuar...

</pre>
<p>Each of them &#8217;till they go back to home&#8230;</p>

<pre class="console">Asistencia de "Pedro Gutierrez"
-------------------------------

Tipo de asistencia:
        1- Ingreso
        2- Salida
        3- Salida a almorzar
        4- Vuelta de almorzar
Selección: 2

Justificación (si corresponde): Me voy más temprano porque
tengo que llevar a mi hijo al médico.

Evento agregado satisfactoriamente.

Presione una tecla para continuar...

</pre>
<p>When any administrator wants to watch the full listing of users and actions, he simply logs in and goes to the second option of the administration menu:</p>

<pre class="console">Sistema de control de asistencia de personal (Lista de
usuarios)
------------------------------------------------------

DNI: -1234
Nombre completo: Administrador
Password: ********
Administrador: 1
Cantidad de eventos: 0
Eventos:

[Esta persona no posee eventos]


DNI: 12345678
Nombre completo: Pedro Gutierrez
Password: ********
Administrador: 0
Cantidad de eventos: 4
Eventos:

Hora: 28/07/2009 14:13:27
Tipo: Ingreso
Justificación: Llegué tarde porque había corte de calles.

Hora: 28/07/2009 14:14:23
Tipo: Salida a almorzar
Justificación:

Hora: 28/07/2009 14:14:44
Tipo: Vuelta de almorzar
Justificación:

Hora: 28/07/2009 14:14:52
Tipo: Salida
Justificación: Me voy más temprano porque tengo que llevar a
mi hijo al médico.

Presione una tecla para continuar...

</pre>
<p>If he wants, he can save that information to a file by using, instead, the third option:</p>

<pre class="console">Sistema de control de asistencia de personal (ADMNISTRACION)
------------------------------------------------------------

1- Alta de usuario
2- Lista de usuarios (datos adquiridos)
3- Salida a archivo
4- Cerrar la aplicación
0- Volver a la pantalla principal

Ingrese la opción deseada: 3

Ingrese la ruta del archivo a guardar: c:asistencia.txt
Archivo guardado satisfactoriamente

Presione una tecla para continuar...

</pre>
<p>Finally, he can close the program by going to the fourth option (losing all the data)&#8230;</p>

<pre class="console">Sistema de control de asistencia de personal (ADMNISTRACION)
------------------------------------------------------------

1- Alta de usuario
2- Lista de usuarios (datos adquiridos)
3- Salida a archivo
4- Cerrar la aplicación
0- Volver a la pantalla principal

Ingrese la opción deseada: 4
Saliendo de la aplicación...

Presione una tecla para continuar...

</pre>
<p>That&#8217;s the idea of the application&#8230;</p>
<p>Now I&#8217;ll leave the links for the ones who don&#8217;t want to solve it themselves (or the ones who just want to run it and watch it work).</p>
<p>The code is portable between Linux and Windows (I&#8217;ve tested it myself on both platforms and it worked seamlessly).</p>
<p>It&#8217;s been developed, compiled and tested using <a href="http://wxdsgn.sourceforge.net/">wxDev-C++</a> for Windows with the <a href="http://www.mingw.org/">MinGW compiler</a> (included in the bundle). In Linux, it was compiled using the GNU GCC compiler.</p>
<p><a href="http://www.gnu.org/licenses/gpl-3.0.txt"><img src="http://www.neoegm.com/wp-content/uploads/2009/07/gplv3-127x511.png" alt="GNU GPL v3" title="GNU GPL v3" width="127" height="51" class="aligncenter size-full wp-image-251" /></a> <span class="aligncenter">ControlAsistencia is licensed under the <a href="http://www.gnu.org/licenses/gpl-3.0.txt">GNU GPL v3</a> (attached)&#8230;</span></p>
<div align="center">
<p class="download"><a href="http://download.neoegm.com/software/control-asistencia/ControlAsistencia_1.02.zip">Download ControlAsistencia v1.02</a></p>
</div>
<div align="center">
<p class="download"><a href="http://download.neoegm.com/software/control-asistencia/ControlAsistencia_1.02_Source.zip">Download v1.02 Source Code</a></p>
</div>
<p><strong>Update:</strong> minor bug in String.cpp fixed => version 1.01<br />
<h4>Incoming search terms for the article:</h4>
<ul>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia de personal en excel">control de asistencia de personal en excel</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia en excel">control de asistencia en excel</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="asistencia de personal en excel">asistencia de personal en excel</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="como hacer un control de asistencia en excel">como hacer un control de asistencia en excel</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia">control de asistencia</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="Control de Asistencia GNU">Control de Asistencia GNU</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia gpl">control de asistencia gpl</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia de personal">control de asistencia de personal</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control asistencia excel">control asistencia excel</a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" title="control de asistencia linux">control de asistencia linux</a></li>
</ul>
<div class='yarpp-related-rss'>
<strong><p>Related posts:<ol>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/wxwidgets/wx-control-de-asistencia/" rel="bookmark" title="Attendance Control (wxWidgets Version)">Attendance Control (wxWidgets Version) </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-list-class/" rel="bookmark" title="Simple C++ List Class">Simple C++ List Class </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/simple-string-class/" rel="bookmark" title="Simple C++ String Class">Simple C++ String Class </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wake On LAN (Remotely power on a computer)</title>
		<link>https://www.neoegm.com/tech/software/tools/wake-on-lan/</link>
		<comments>https://www.neoegm.com/tech/software/tools/wake-on-lan/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 22:00:36 +0000</pubDate>
		<dc:creator><![CDATA[NeoEGM]]></dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[DOS]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Freeware]]></category>
		<category><![CDATA[GNU GPL]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Power]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.neoegm.com/?p=414</guid>
		<description><![CDATA[Have you ever wondered how you could power on a computer remotely? Well, with this program you can do it! You have to configure the remote computer (the one which will be powered on) to support the Wake-On-LAN feature. This is done in the CMOS settings looking for the &#8220;Power/ACPI&#8221; settings or something like that. [&#8230;]<div class='yarpp-related-rss'>
<strong>
Related posts:<ol>
<li><a href="https://www.neoegm.com/tech/software/tools/uptime/" rel="bookmark" title="UpTime (How much time has the computer been powered on)">UpTime (How much time has the computer been powered on) </a></li>
<li><a href="https://www.neoegm.com/tech/software/tools/guitar-trainer/" rel="bookmark" title="Guitar Trainer">Guitar Trainer </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" rel="bookmark" title="Attendance Control">Attendance Control </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p>Have you ever wondered how you could power on a computer remotely?</p>
<p>Well, with this program you can do it!</p>

<pre class="console">C:\>wol

Wake-On-Lan (WOL) Tool v1.0 by NeoEGM
http://www.neoegm.com/software/wake-on-lan/
-------------------------------------------

Usage: wol <mac address>

Wakes the computer with the specified MAC address.

Accepted MAC address formats: 01-4B-8E-00-52-A1
                              01-4b-8e-00-52-a1
                              01:4B:8E:00:52:A1
                              01:4b:8e:00:52:a1
                              014B.8E00.52A1
                              014b.8e00.52a1
                              014b8e0052a1
                              014B8E0052A1

</pre>
<p><span id="more-414"></span></p>
<p>You have to configure the remote computer (the one which will be powered on) to support the Wake-On-LAN feature. This is done in the CMOS settings looking for the &#8220;Power/ACPI&#8221; settings or something like that.</p>
<p>Then, you have to find out the MAC Address (sometimes called &#8220;Physical Address&#8221;) of the network adapter connected to the LAN. On Windows it&#8217;s done doing this from the console:</p>

<pre class="console">C:\>ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : mypc1
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Unknown
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Marvell Yukon 88E8056
PCI-E Gigabit Ethernet Controller
   Physical Address. . . . . . . . . : 00-1F-C2-14-B3-F4
   DHCP Enabled. . . . . . . . . . . : No
   IP Address. . . . . . . . . . . . : 192.168.0.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.254
   DNS Servers . . . . . . . . . . . : 192.168.0.254

</pre>
<p>In this case, it&#8217;s &#8220;00-1F-C2-14-B3-F4&#8243;, so the tool can be used like this:</p>

<pre class="console">C:\>wol 00-1F-C2-14-B3-F4

Wake-On-Lan (WOL) Tool v1.0 by NeoEGM
http://www.neoegm.com/software/wake-on-lan/
-------------------------------------------

Wake-up packet sent to MAC address 00-1F-C2-14-B3-F4.

</pre>
<p>There are some restrictions that apply to the hardware, but a summary may be: the motherboard must support the &#8220;Wake-On-Lan (WOL)&#8221; feature and the NIC (network adapter) must have a wire called with that name connected to the motherboard. <strong>If the motherboard of the computer you want to power on is not so old and has an integrated (on-board) Ethernet card, then it&#8217;ll probably work.</strong></p>
<p><a href="http://www.gnu.org/licenses/gpl-3.0.txt"><img src="http://www.neoegm.com/wp-content/uploads/2009/07/gplv3-127x511.png" alt="GNU GPL v3" title="GNU GPL v3" width="127" height="51" class="aligncenter size-full wp-image-251" /></a> <span class="aligncenter">WakeOnLan is licensed under the <a href="http://www.gnu.org/licenses/gpl-3.0.txt">GNU GPL v3</a> (attached)&#8230;</span></p>
<p>Now, the links&#8230;</p>
<div align="center">
<p class="download"><a href="http://download.neoegm.com/software/wake-on-lan/WakeOnLan_1.0.zip">Download WakeOnLan v1.0</a></p>
</div>
<div align="center">
<p class="download"><a href="http://download.neoegm.com/software/wake-on-lan/WakeOnLan_1.0_Source.zip">Download v1.0 Source Code</a></p>
</div>
<h4>Incoming search terms for the article:</h4>
<ul>
<li><a href="https://www.neoegm.com/tech/software/tools/wake-on-lan/" title="marvell yukon 88E8056 wake on lan">marvell yukon 88E8056 wake on lan</a></li>
<li><a href="https://www.neoegm.com/tech/software/tools/wake-on-lan/" title="marvell yukon 88e8056 wol">marvell yukon 88e8056 wol</a></li>
<li><a href="https://www.neoegm.com/tech/software/tools/wake-on-lan/" title="wake on lan GPL">wake on lan GPL</a></li>
<li><a href="https://www.neoegm.com/tech/software/tools/wake-on-lan/" title="wake on lan C">wake on lan C</a></li>
<li><a href="https://www.neoegm.com/tech/software/tools/wake-on-lan/" title="Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller WAKE ON LAN">Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller WAKE ON LAN</a></li>
<li><a href="https://www.neoegm.com/tech/software/tools/wake-on-lan/" title="Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller WOL">Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller WOL</a></li>
<li><a href="https://www.neoegm.com/tech/software/tools/wake-on-lan/" title="88e8056 wol">88e8056 wol</a></li>
<li><a href="https://www.neoegm.com/tech/software/tools/wake-on-lan/" title="Marvell 88E8056 Wol">Marvell 88E8056 Wol</a></li>
<li><a href="https://www.neoegm.com/tech/software/tools/wake-on-lan/" title="Marvell 88E8056 wake on lan">Marvell 88E8056 wake on lan</a></li>
<li><a href="https://www.neoegm.com/tech/software/tools/wake-on-lan/" title="marvell yukon wake on lan">marvell yukon wake on lan</a></li>
</ul>
<div class='yarpp-related-rss'>
<strong><p>Related posts:<ol>
<li><a href="https://www.neoegm.com/tech/software/tools/uptime/" rel="bookmark" title="UpTime (How much time has the computer been powered on)">UpTime (How much time has the computer been powered on) </a></li>
<li><a href="https://www.neoegm.com/tech/software/tools/guitar-trainer/" rel="bookmark" title="Guitar Trainer">Guitar Trainer </a></li>
<li><a href="https://www.neoegm.com/tech/programming/c-cpp/control-de-asistencia/" rel="bookmark" title="Attendance Control">Attendance Control </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.neoegm.com/tech/software/tools/wake-on-lan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
