Hi guys, i compiled a program but i have this vague error message that occured. Searching through google.com states that it might be due to many problems such as invalid pointers, etc, etc. Im a fairly new person to C prog, so i would like to seek your advise on this. Can you guys tell me whats wrong with the code??

Main prog

#include "CountryData.h"

// ====================================================================

void readData ()
{
    FILE * pFile;
    NoOfRecordsRead = 0;
    char buffer [Line_Char_Buffer_Size];

    pFile = fopen (INPUT_FILE_NAME , "r");
   
    if (pFile == NULL) 
         perror ("Error opening file 'Countries.txt' !");
    else
    {
      while ( fgets(buffer, Line_Char_Buffer_Size,pFile) != NULL)
      {
         printf ("%d] aLine => %s\n", NoOfRecordsRead, buffer);
         globalCountryDataArray [NoOfRecordsRead++] = createCountryRecord(buffer);
      }
      fclose (pFile);
    }
			
}








// ====================================================================

char* get_line (char *s, size_t n, FILE *f)
{
	char *p = fgets (s, n, f);

	if (p != NULL) 
	{
		size_t last = strlen (s) - 1;
		if (s[last] == '\n') 
			s[last] = '\0';
	}
	return p;
}

// ====================================================================

CountryRecordType createCountryRecord (char* buffer)
{
	CountryRecordType ctryRec;
	char* pch = strtok (buffer, LINE_DATA_DELIMITER);

	// 1) Retrieve TLD
	strcpy (ctryRec.TLD, pch);
	pch = strtok (NULL, LINE_DATA_DELIMITER);

	// 2) Retrieve Country
	strcpy (ctryRec.Country, pch);
	pch = strtok (NULL, LINE_DATA_DELIMITER);

	// 3) Retrieve FIPS104
	strcpy (ctryRec.FIPS104, pch);
	pch = strtok (NULL, LINE_DATA_DELIMITER);

	// 4) Retrieve ISO2
	strcpy (ctryRec.ISO2, pch);
	pch = strtok (NULL, LINE_DATA_DELIMITER);

	// 5) Retrieve ISO3
	strcpy (ctryRec.ISO3, pch);
	pch = strtok (NULL, LINE_DATA_DELIMITER);

	// 6) Retrieve ISONo
	ctryRec.ISONo = atof (pch);
	pch = strtok (NULL, LINE_DATA_DELIMITER);

	// 7) Retrieve Capital
	strcpy (ctryRec.Capital, pch);
	pch = strtok (NULL, LINE_DATA_DELIMITER);

	// 8) Retrieve Region
	strcpy (ctryRec.Region, pch);
	pch = strtok (NULL, LINE_DATA_DELIMITER);

	// 9) Retrieve Currency
	strcpy (ctryRec.Currency, pch);
	pch = strtok (NULL, LINE_DATA_DELIMITER);

	// 10) Retrieve CurrencyCode
	strcpy (ctryRec.CurrencyCode, pch);
	pch = strtok (NULL, LINE_DATA_DELIMITER);

	// 11) Retrieve Population
	ctryRec.Population = atof (pch);

	return (ctryRec);

}

// ====================================================================

void displayRecordContent (CountryRecordType ctryRec)
{
	printf ("TLD			: %s\n", ctryRec.TLD);
	printf ("Country		: %s\n", ctryRec.Country);
	printf ("FIPS104		: %s\n", ctryRec.FIPS104);
	printf ("ISO2			: %s\n", ctryRec.ISO2);
	printf ("ISO3			: %s\n", ctryRec.ISO3);
	printf ("ISONo			: %lf\n", ctryRec.ISONo);
	printf ("Capital		: %s\n", ctryRec.Capital);
	printf ("Region			: %s\n", ctryRec.Region);
	printf ("Currency		: %s\n", ctryRec.Currency);
	printf ("CurrencyCode	: %s\n", ctryRec.CurrencyCode);
	printf ("Population		: %lf\n\n", ctryRec.Population);
}

// ====================================================================

void showAllRecords ()
{
	int i=0;
	for (i=0; i<NoOfRecordsRead; i++)
	{
		printf ("(%d)\n", i);
		displayRecordContent (globalCountryDataArray [i]);
	}
}

// ====================================================================

int findCountryRecord (const char* countryName)
{
	int idx		= -1;
	int found	= 0;

	while (!found && (++idx < Max_Record_Size))
		if (strcmp (globalCountryDataArray [idx].Country, countryName) == 0)
			found = 1;

	if (found)
		return (idx);
	else
		return (-1);
}

// ====================================================================

char* getCapital (const char* countryName)
{
	int idx = findCountryRecord (countryName);

	if (idx < 0)
	{
		printf ("Country '%s' not found!\n", countryName);
		return (NULL);	
	}
	else
		return (globalCountryDataArray [idx].Capital);
}

// ====================================================================

char* getCurrencyCode (const char* countryName)
{
	int idx = findCountryRecord (countryName);

	if (idx < 0)
	{
		printf ("Country '%s' not found!\n", countryName);
		return (NULL);	
	}
	else
		return (globalCountryDataArray [idx].CurrencyCode);
}



main ()
{
	readData ();
	showAllRecords ();

	char* country1 = "Andorra";

	printf ("%s Capital       : %s\n", country1, getCapital (country1));
	printf ("%s Currency Code : %s\n", country1, getCurrencyCode (country1));


	char* country2 = "Zimbabwe";

	printf ("%s Capital       : %s\n", country2, getCapital (country2));
	printf ("%s Currency Code : %s\n", country2, getCurrencyCode (country2));

	char* country3 = "Malaysia";

	printf ("%s Capital       : %s\n", country3, getCapital (country3));
	printf ("%s Currency Code : %s\n", country3, getCurrencyCode (country3));

}

Library file

#ifndef COUNTRY_DATA_H
#define COUNTRY_DATA_H

// ====================================================================

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

// ====================================================================

#define TLD_LEN				2
#define COUNTRY_LEN 		100
#define FIPS104_LEN 		2
#define ISO2_LEN			2
#define ISO3_LEN			3
#define CAPITAL_LEN			100
#define REGION_LEN			100
#define CURRENCY_LEN		50
#define CURRENCY_CODE_LEN	3

#define No_Of_Rec_Fields		11
#define Max_Record_Size			2500
#define Line_Char_Buffer_Size	4000

#define LINE_DATA_DELIMITER 	","
#define INPUT_FILE_NAME 		"Countries.txt"

// ====================================================================

//const char*	LINE_DATA_DELIMITER		= ",";
//const char*	INPUT_FILE_NAME 		= "Countries.txt";


typedef struct CountryRecord
{
	char TLD			[TLD_LEN+1];			// Top Level Domain code
	char Country		[COUNTRY_LEN+1];	
	char FIPS104		[FIPS104_LEN+1];		// Ctry code according to FIPS104 standard
	char ISO2			[ISO2_LEN+1];			// Ctry code according to ISO2    standard
	char ISO3			[ISO3_LEN+1];			// Ctry code according to ISO3    standard
	double ISONo;

	char Capital		[CAPITAL_LEN+1];	
	char Region			[REGION_LEN+1];			// E.g. Asia, Europe, etc.
	char Currency		[CURRENCY_LEN+1];		// Full name of currency
	char CurrencyCode	[CURRENCY_CODE_LEN+1];	// Currency abbreviation
	double Population;

}	CountryRecordType;


int NoOfRecordsRead;
CountryRecordType globalCountryDataArray [Max_Record_Size];

// ====================================================================

void readData ();
char* get_line (char *s, size_t n, FILE *f);
CountryRecordType createCountryRecord (char* aLine);
void displayRecordContent (CountryRecordType ctryRec);
void showAllRecords ();

int findCountryRecord (const char* countryName);
char* getCapital (const char* countryName);
char* getCurrencyCode (const char* countryName);

// ====================================================================

#endif // COUNTRY_DATA_H

and finally the Countries.txt

AD,Andorra,AN,AD,AND,20.00,Andorra la Vella,Europe,Euro,EUR,67627.00
AE,United Arab Emirates,AE,AE,ARE,784.00,Abu Dhabi,Middle East,UAE Dirham,AED,2407460.00
AF,Afghanistan,AF,AF,AFG,4.00,Kabul,Asia,Afghani,AFA,26813057.00
AG,Antigua and Barbuda,AC,AG,ATG,28.00,Saint John's,Central America and the Caribbean,East Caribbean Dollar,XCD,66970.00
AI,Anguilla,AV,AI,AIA,660.00,The Valley,Central America and the Caribbean,East Caribbean Dollar,XCD,12132.00
AL,Albania,AL,AL,ALB,8.00,Tirana,Europe,Lek,ALL,3510484.00
AM,Armenia,AM,AM,ARM,51.00,Yerevan,Commonwealth of Independent States,Armenian Dram,AMD,3336100.00
AN,Netherlands Antilles,NT,AN,ANT,530.00,Willemstad,Central America and the Caribbean,Netherlands Antillean guilder,ANG,212226.00
AO,Angola,AO,AO,AGO,24.00,Luanda,Africa,Kwanza,AOA,10366031.00
AQ,Antarctica,AY,AQ,ATA,10.00,--,Antarctic Region, , ,0.00
AR,Argentina,AR,AR,ARG,32.00,Buenos Aires,South America,Argentine Peso,ARS,37384816.00
AS,American Samoa,AQ,AS,ASM,16.00,Pago Pago,Oceania,US Dollar,USD,67084.00
AT,Austria,AU,AT,AUT,40.00,Vienna,Europe,Euro,EUR,8150835.00
AU,Australia,AS,AU,AUS,36.00,Canberra,Oceania,Australian dollar,AUD,19357594.00
AW,Aruba,AA,AW,ABW,533.00,Oranjestad,Central America and the Caribbean,Aruban Guilder,AWG,70007.00
AZ,Azerbaijan,AJ,AZ,AZE,31.00,Baku (Baki),Commonwealth of Independent States,Azerbaijani Manat,AZM,7771092.00
BA,Bosnia and Herzegovina,BK,BA,BIH,70.00,Sarajevo,Bosnia and Herzegovina (Europe),Convertible Marka,BAM,3922205.00
BB,Barbados,BB,BB,BRB,52.00,Bridgetown,Central America and the Caribbean,Barbados Dollar,BBD,275330.00
BD,Bangladesh,BG,BD,BGD,50.00,Dhaka,Asia,Taka,BDT,131269860.00
BE,Belgium,BE,BE,BEL,56.00,Brussels,Europe,Euro,EUR,10258762.00
BF,Burkina Faso,UV,BF,BFA,854.00,Ouagadougou,Africa,CFA Franc BCEAO,XOF,12272289.00
BG,Bulgaria,BU,BG,BGR,100.00,Sofia,Europe,Lev,BGL,7707495.00
BH,Bahrain,BA,BH,BHR,48.00,Manama,Middle East,Bahraini Dinar,BHD,645361.00
BI,Burundi,BY,BI,BDI,108.00,Bujumbura,Africa,Burundi Franc,BIF,6223897.00
BJ,Benin,BN,BJ,BEN,204.00,Porto-Novo ,Africa,CFA Franc BCEAO,XOF,6590782.00
BM,Bermuda,BD,BM,BMU,60.00,Hamilton,North America,Bermudian Dollar,BMD,63503.00
BN,Brunei Darussalam,BX,BN,BRN,96.00,Bandar Seri Begawan,Southeast Asia,Brunei Dollar,BND,
BO,Bolivia,BL,BO,BOL,68.00,La Paz /Sucre,South America,Boliviano,BOB,8300463.00
BR,Brazil,BR,BR,BRA,76.00,Brasilia,South America,Brazilian Real,BRL,174468575.00
BS,The Bahamas,BF,BS,BHS,44.00,Nassau,Central America and the Caribbean,Bahamian Dollar,BSD,297852.00
BT,Bhutan,BT,BT,BTN,64.00,Thimphu,Asia,Ngultrum,BTN,2049412.00
BV,Bouvet Island,BV,BV,BVT,74.00,--,Antarctic Region,Norwegian Krone,NOK,0.00
BW,Botswana,BC,BW,BWA,72.00,Gaborone,Africa,Pula,BWP,1586119.00
BY,Belarus,BO,BY,BLR,112.00,Minsk,Commonwealth of Independent States,Belarussian Ruble,BYR,10350194.00
BZ,Belize,BH,BZ,BLZ,84.00,Belmopan,Central America and the Caribbean,Belize Dollar,BZD,256062.00
CA,Canada,CA,CA,CAN,124.00,Ottawa,North America,Canadian Dollar,CAD,31592805.00
CC,Cocos (Keeling) Islands,CK,CC,CCK,166.00,West Island,Southeast Asia,Australian Dollar,AUD,633.00
CD,Congo, Democratic Republic of the,CG,CD,COD,180.00,Kinshasa,Africa,Franc Congolais,CDF,53624718.00
CF,Central African Republic,CT,CF,CAF,140.00,Bangui,Africa,CFA Franc BEAC,XAF,3576884.00
CG,Congo, Republic of the,CF,CG,COG,178.00,Brazzaville,Africa,CFA Franc BEAC,XAF,2894336.00
CH,Switzerland,SZ,CH,CHE,756.00,Bern,Europe,Swiss Franc,CHF,7283274.00
CI,Cote d'Ivoire,IV,CI,CIV,384.00,Yamoussoukro,Africa,CFA Franc BCEAO,XOF,16393221.00
CK,Cook Islands,CW,CK,COK,184.00,Avarua,Oceania,New Zealand Dollar,NZD,20611.00
CL,Chile,CI,CL,CHL,152.00,Santiago,South America,Chilean Peso,CLP,15328467.00
CM,Cameroon,CM,CM,CMR,120.00,Yaounde,Africa,CFA Franc BEAC,XAF,15803220.00
CN,China,CH,CN,CHN,156.00,Beijing,Asia,Yuan Renminbi,CNY,1273111290.00
CO,Colombia,CO,CO,COL,170.00,Bogota,South America, Central America and the Caribbean,Colombian Peso,COP,40349388.00
CR,Costa Rica,CS,CR,CRI,188.00,San Jose,Central America and the Caribbean,Costa Rican Colon,CRC,3773057.00
CU,Cuba,CU,CU,CUB,192.00,Havana,Central America and the Caribbean,Cuban Peso,CUP,11184023.00
CV,Cape Verde,CV,CV,CPV,132.00,Praia,World,Cape Verdean Escudo,CVE,405163.00
CX,Christmas Island,KT,CX,CXR,162.00,The Settlement,Southeast Asia,Australian Dollar,AUD,2771.00
CY,Cyprus,CY,CY,CYP,196.00,Nicosia,Middle East,Cyprus Pound,CYP,762887.00
CZ,Czech Republic,EZ,CZ,CZE,203.00,Prague,Europe,Czech Koruna,CZK,10264212.00
DE,Germany,GM,DE,DEU,276.00,Berlin,Europe,Euro,EUR,83029536.00
DJ,Djibouti,DJ,DJ,DJI,262.00,Djibouti,Africa,Djibouti Franc,DJF,460700.00
DK,Denmark,DA,DK,DNK,208.00,Copenhagen,Europe,Danish Krone,DKK,5352815.00
DM,Dominica,DO,DM,DMA,212.00,Roseau,Central America and the Caribbean,East Caribbean Dollar,XCD,70786.00
DO,Dominican Republic,DR,DO,DOM,214.00,Santo Domingo,Central America and the Caribbean,Dominican Peso,DOP,8581477.00
DZ,Algeria,AG,DZ,DZA,12.00,Algiers,Africa,Algerian Dinar,DZD,31736053.00
EC,Ecuador,EC,EC,ECU,218.00,Quito,South America,US dollar,USD,13183978.00
EE,Estonia,EN,EE,EST,233.00,Tallinn,Europe,Kroon,EEK,1423316.00
EG,Egypt,EG,EG,EGY,818.00,Cairo,Africa,Egyptian Pound,EGP,69536644.00
EH,Western Sahara,WI,EH,ESH,732.00,--,Africa,Moroccan Dirham,MAD,250559.00
ER,Eritrea,ER,ER,ERI,232.00,Asmara,Africa,Nakfa,ERN,4298269.00
ES,Spain,SP,ES,ESP,724.00,Madrid,Europe,Euro,EUR,40037995.00
ET,Ethiopia,ET,ET,ETH,231.00,Addis Ababa,Africa,Ethiopian Birr,ETB,65891874.00
FI,Finland,FI,FI,FIN,246.00,Helsinki,Europe,Euro,EUR,5175783.00
FJ,Fiji,FJ,FJ,FJI,242.00,Suva,Oceania,Fijian Dollar,FJD,844330.00
FK,Falkland Islands (Islas Malvinas),FK,FK,FLK,238.00,Stanley,South America,Falkland Islands Pound,FKP,2895.00
FM,Micronesia, Federated States of,FM,FM,FSM,583.00,Palikir,Oceania,US dollar,USD,134597.00
FO,Faroe Islands,FO,FO,FRO,234.00,Torshavn,Europe,Danish Krone,DKK,45661.00
FR,France,FR,FR,FRA,250.00,Paris,Europe,Euro,EUR,59551227.00
FX,France, Metropolitan,--,--,--,-1.00,--, ,Euro,EUR,
GA,Gabon,GB,GA,GAB,266.00,Libreville,Africa,CFA Franc BEAC,XAF,1221175.00
GD,Grenada,GJ,GD,GRD,308.00,Saint George's,Central America and the Caribbean,East Caribbean Dollar,XCD,89227.00
GE,Georgia,GG,GE,GEO,268.00,T'bilisi,Commonwealth of Independent States,Lari,GEL,4989285.00
GF,French Guiana,FG,GF,GUF,254.00,Cayenne,South America,Euro,EUR,177562.00
GG,Guernsey,GK,--,--,-1.00,Saint Peter Port,Europe,Pound Sterling,GBP,64342.00
GH,Ghana,GH,GH,GHA,288.00,Accra,Africa,Cedi,GHC,19894014.00
GI,Gibraltar,GI,GI,GIB,292.00,Gibraltar,Europe,Gibraltar Pound,GIP,27649.00
GL,Greenland,GL,GL,GRL,304.00,Nuuk,Arctic Region,Danish Krone,DKK,56352.00
GM,The Gambia,GA,GM,GMB,270.00,Banjul,Africa,Dalasi,GMD,1411205.00
GN,Guinea,GV,GN,GIN,324.00,Conakry,Africa,Guinean Franc,GNF,7613870.00
GP,Guadeloupe,GP,GP,GLP,312.00,Basse-Terre,Central America and the Caribbean,Euro,EUR,431170.00
GQ,Equatorial Guinea,EK,GQ,GNQ,226.00,Malabo,Africa,CFA Franc BEAC,XAF,486060.00
GR,Greece,GR,GR,GRC,300.00,Athens,Europe,Euro,EUR,10623835.00
GS,South Georgia and the South Sandwich Islands,SX,GS,SGS,239.00,--,Antarctic Region,Pound Sterling,GBP,0.00
GT,Guatemala,GT,GT,GTM,320.00,Guatemala,Central America and the Caribbean,Quetzal,GTQ,12974361.00
GU,Guam,GQ,GU,GUM,316.00,Hagatna,Oceania,US Dollar,USD,157557.00
GW,Guinea-Bissau,PU,GW,GNB,624.00,Bissau,Africa,CFA Franc BCEAO,XOF,1315822.00
GY,Guyana,GY,GY,GUY,328.00,Georgetown,South America,Guyana Dollar,GYD,697181.00
HK,Hong Kong (SAR),HK,HK,HKG,344.00,Hong Kong,Southeast Asia,Hong Kong Dollar,HKD,0.00
HM,Heard Island and McDonald Islands,HM,HM,HMD,334.00,--,Antarctic Region,Australian Dollar,AUD,0.00
HN,Honduras,HO,HN,HND,340.00,Tegucigalpa,Central America and the Caribbean,Lempira,HNL,6406052.00
HR,Croatia,HR,HR,HRV,191.00,Zagreb,Europe,Kuna,HRK,4334142.00
HT,Haiti,HA,HT,HTI,332.00,Port-au-Prince,Central America and the Caribbean,Gourde,HTG,6964549.00
HU,Hungary,HU,HU,HUN,348.00,Budapest,Europe,Forint,HUF,10106017.00
ID,Indonesia,ID,ID,IDN,360.00,Jakarta,Southeast Asia,Rupiah,IDR,228437870.00
IE,Ireland,EI,IE,IRL,372.00,Dublin,Europe,Euro,EUR,3840838.00
IL,Israel,IS,IL,ISR,376.00,Jerusalem,Middle East,New Israeli Sheqel,ILS,5938093.00
IM,Man, Isle of,IM,--,--,-1.00,Douglas,Europe,Pound Sterling,GBP,73489.00
IN,India,IN,IN,IND,356.00,New Delhi,Asia,Indian Rupee,INR,1029991145.00
IO,British Indian Ocean Territory,IO,IO,IOT,86.00,--,World,US Dollar,USD,0.00
IQ,Iraq,IZ,IQ,IRQ,368.00,Baghdad,Middle East,Iraqi Dinar,IQD,23331985.00
IR,Iran,IR,IR,IRN,364.00,Tehran,Middle East,Iranian Rial,IRR,66128965.00
IS,Iceland,IC,IS,ISL,352.00,Reykjavik,Arctic Region,Iceland Krona,ISK,277906.00
IT,Italy,IT,IT,ITA,380.00,Rome,Europe,Euro,EUR,57679825.00
JE,Jersey,JE,--,--,-1.00,Saint Helier,Europe,Pound Sterling,GBP,89361.00
JM,Jamaica,JM,JM,JAM,388.00,Kingston,Central America and the Caribbean,Jamaican dollar,JMD,2665636.00
JO,Jordan,JO,JO,JOR,400.00,Amman,Middle East,Jordanian Dinar,JOD,5153378.00
JP,Japan,JA,JP,JPN,392.00,Tokyo,Asia,Yen,JPY,126771662.00
KE,Kenya,KE,KE,KEN,404.00,Nairobi,Africa,Kenyan shilling,KES,30765916.00
KG,Kyrgyzstan,KG,KG,KGZ,417.00,Bishkek,Commonwealth of Independent States,Som,KGS,4753003.00
KH,Cambodia,CB,KH,KHM,116.00,Phnom Penh,Southeast Asia,Riel,KHR,12491501.00
KI,Kiribati,KR,KI,KIR,296.00,Tarawa,Oceania,Australian dollar,AUD,94149.00
KM,Comoros,CN,KM,COM,174.00,Moroni,Africa,Comoro Franc,KMF,596202.00
KN,Saint Kitts and Nevis,SC,KN,KNA,659.00,Basseterre,Central America and the Caribbean,East Caribbean Dollar,XCD,38756.00
KP,Korea,KN,KP,PRK,408.00,Pyongyang,Asia,North Korean Won,KPW,21968228.00
KR,Korea,KS,KR,KOR,410.00,Seoul,Asia,Won,KRW,47904370.00
KW,Kuwait,KU,KW,KWT,414.00,Kuwait,Middle East,Kuwaiti Dinar,KWD,2041961.00
KY,Cayman Islands,CJ,KY,CYM,136.00,George Town,Central America and the Caribbean,Cayman Islands Dollar,KYD,35527.00
KZ,Kazakhstan,KZ,KZ,KAZ,398.00,Astana,Commonwealth of Independent States,Tenge,KZT,16731303.00
LA,Laos,LA,LA,LAO,418.00,Vientiane,Southeast Asia,Kip,LAK,5635967.00
LB,Lebanon,LE,LB,LBN,422.00,Beirut,Middle East,Lebanese Pound,LBP,3627774.00
LC,Saint Lucia,ST,LC,LCA,662.00,Castries,Central America and the Caribbean,East Caribbean Dollar,XCD,158178.00
LI,Liechtenstein,LS,LI,LIE,438.00,Vaduz,Europe,Swiss Franc,CHF,32528.00
LK,Sri Lanka,CE,LK,LKA,144.00,Colombo,Asia,Sri Lanka Rupee,LKR,19408635.00
LR,Liberia,LI,LR,LBR,430.00,Monrovia,Africa,Liberian Dollar,LRD,3225837.00
LS,Lesotho,LT,LS,LSO,426.00,Maseru,Africa,Loti,LSL,2177062.00
LT,Lithuania,LH,LT,LTU,440.00,Vilnius,Europe,Lithuanian Litas,LTL,3610535.00
LU,Luxembourg,LU,LU,LUX,442.00,Luxembourg,Europe,Euro,EUR,442972.00
LV,Latvia,LG,LV,LVA,428.00,Riga,Europe,Latvian Lats,LVL,2385231.00
LY,Libya,LY,LY,LBY,434.00,Tripoli,Africa,Libyan Dinar,LYD,5240599.00
MA,Morocco,MO,MA,MAR,504.00,Rabat,Africa,Moroccan Dirham,MAD,30645305.00
MC,Monaco,MN,MC,MCO,492.00,Monaco,Europe,Euro,EUR,31842.00
MD,Moldova,MD,MD,MDA,498.00,Chisinau,Commonwealth of Independent States,Moldovan Leu,MDL,4431570.00
MG,Madagascar,MA,MG,MDG,450.00,Antananarivo,Africa,Malagasy Franc,MGF,15982563.00
MH,Marshall Islands,RM,MH,MHL,584.00,Majuro,Oceania,US dollar,USD,70822.00
MK,Macedonia, The Former Yugoslav Republic of,MK,MK,MKD,807.00,Skopje,Europe,Denar,MKD,2046209.00
ML,Mali,ML,ML,MLI,466.00,Bamako,Africa,CFA Franc BCEAO,XOF,11008518.00
MM,Burma,BM,MM,MMR,104.00,Rangoon,Southeast Asia,kyat,MMK,41994678.00
MN,Mongolia,MG,MN,MNG,496.00,Ulaanbaatar,Asia,Tugrik,MNT,2654999.00
MO,Macao,MC,MO,MAC,446.00,Macao,Southeast Asia,Pataca,MOP,453733.00
MP,Northern Mariana Islands,CQ,MP,MNP,580.00,Saipan,Oceania,US Dollar,USD,74612.00
MQ,Martinique,MB,MQ,MTQ,474.00,Fort-de-France,Central America and the Caribbean,Euro,EUR,418454.00
MR,Mauritania,MR,MR,MRT,478.00,Nouakchott,Africa,Ouguiya,MRO,2747312.00
MS,Montserrat,MH,MS,MSR,500.00,Plymouth,Central America and the Caribbean,East Caribbean Dollar,XCD,7574.00
MT,Malta,MT,MT,MLT,470.00,Valletta,Europe,Maltese Lira,MTL,394583.00
MU,Mauritius,MP,MU,MUS,480.00,Port Louis,World,Mauritius Rupee,MUR,1189825.00
MV,Maldives,MV,MV,MDV,462.00,Male,Asia,Rufiyaa,MVR,310764.00
MW,Malawi,MI,MW,MWI,454.00,Lilongwe,Africa,Kwacha,MWK,10548250.00
MX,Mexico,MX,MX,MEX,484.00,Mexico,North America,Mexican Peso,MXN,101879171.00
MY,Malaysia,MY,MY,MYS,458.00,Kuala Lumpur,Southeast Asia,Malaysian Ringgit,MYR,22229040.00
MZ,Mozambique,MZ,MZ,MOZ,508.00,Maputo,Africa,Metical,MZM,19371057.00
NA,Namibia,WA,NA,NAM,516.00,Windhoek,Africa,Namibian Dollar,NAD,1797677.00
NC,New Caledonia,NC,NC,NCL,540.00,Noumea,Oceania,CFP Franc,XPF,204863.00
NE,Niger,NG,NE,NER,562.00,Niamey,Africa,CFA Franc BCEAO,XOF,10355156.00
NF,Norfolk Island,NF,NF,NFK,574.00,Kingston,Oceania,Australian Dollar,AUD,1879.00
NG,Nigeria,NI,NG,NGA,566.00,Abuja,Africa,Naira,NGN,126635626.00
NI,Nicaragua,NU,NI,NIC,558.00,Managua,Central America and the Caribbean,Cordoba Oro,NIO,4918393.00
NL,Netherlands,NL,NL,NLD,528.00,Amsterdam,Europe,Euro,EUR,15981472.00
NO,Norway,NO,NO,NOR,578.00,Oslo,Europe,Norwegian Krone,NOK,4503440.00
NP,Nepal,NP,NP,NPL,524.00,Kathmandu,Asia,Nepalese Rupee,NPR,25284463.00
NR,Nauru,NR,NR,NRU,520.00,--,Oceania,Australian Dollar,AUD,12088.00
NU,Niue,NE,NU,NIU,570.00,Alofi,Oceania,New Zealand Dollar,NZD,2124.00
NZ,New Zealand,NZ,NZ,NZL,554.00,Wellington,Oceania,New Zealand Dollar,NZD,3864129.00
OM,Oman,MU,OM,OMN,512.00,Muscat,Middle East,Rial Omani,OMR,2622198.00
PA,Panama,PM,PA,PAN,591.00,Panama,Central America and the Caribbean,balboa,PAB,2845647.00
PE,Peru,PE,PE,PER,604.00,Lima,South America,Nuevo Sol,PEN,27483864.00
PF,French Polynesia,FP,PF,PYF,258.00,Papeete,Oceania,CFP Franc,XPF,253506.00
PG,Papua New Guinea,PP,PG,PNG,598.00,Port Moresby,Oceania,Kina,PGK,5049055.00
PH,Philippines,RP,PH,PHL,608.00,Manila,Southeast Asia,Philippine Peso,PHP,82841518.00
PK,Pakistan,PK,PK,PAK,586.00,Islamabad,Asia,Pakistan Rupee,PKR,144616639.00
PL,Poland,PL,PL,POL,616.00,Warsaw,Europe,Zloty,PLN,38633912.00
PM,Saint Pierre and Miquelon,SB,PM,SPM,666.00,Saint-Pierre,North America,Euro,EUR,6928.00
PN,Pitcairn Islands,PC,PN,PCN,612.00,Adamstown,Oceania,New Zealand Dollar,NZD,47.00
PR,Puerto Rico,RQ,PR,PRI,630.00,San Juan,Central America and the Caribbean,US dollar,USD,3937316.00
PS,Palestinian Territory, Occupied,--,PS,PSE,275.00,--, ,, ,
PT,Portugal,PO,PT,PRT,620.00,Lisbon,Europe,Euro,EUR,10066253.00
PW,Palau,PS,PW,PLW,585.00,Koror,Oceania,US dollar,USD,19092.00
PY,Paraguay,PA,PY,PRY,600.00,Asuncion,South America,Guarani,PYG,5734139.00
QA,Qatar,QA,QA,QAT,634.00,Doha,Middle East,Qatari Rial,QAR,769152.00
RO,Romania,RO,RO,ROU,642.00,Bucharest,Europe,Leu,ROL,22364022.00
RU,Russia,RS,RU,RUS,643.00,Moscow,Asia,Russian Ruble,RUB,145470197.00
RW,Rwanda,RW,RW,RWA,646.00,Kigali,Africa,Rwanda Franc,RWF,7312756.00
SA,Saudi Arabia,SA,SA,SAU,682.00,Riyadh,Middle East,Saudi Riyal,SAR,22757092.00
SB,Solomon Islands,BP,SB,SLB,90.00,Honiara,Oceania,Solomon Islands Dollar,SBD,480442.00
SC,Seychelles,SE,SC,SYC,690.00,Victoria,Africa,Seychelles Rupee,SCR,79715.00
SD,Sudan,SU,SD,SDN,736.00,Khartoum,Africa,Sudanese Dinar,SDD,36080373.00
SE,Sweden,SW,SE,SWE,752.00,Stockholm,Europe,Swedish Krona,SEK,8875053.00
SG,Singapore,SN,SG,SGP,702.00,Singapore,Southeast Asia,Singapore Dollar,SGD,4300419.00
SH,Saint Helena,SH,SH,SHN,654.00,Jamestown,Africa,Saint Helenian Pound,SHP,7266.00
SI,Slovenia,SI,SI,SVN,705.00,Ljubljana,Europe,Tolar,SIT,1930132.00
SJ,Svalbard,SV,SJ,SJM,744.00,Longyearbyen,Arctic Region,Norwegian Krone,NOK,2332.00
SK,Slovakia,LO,SK,SVK,703.00,Bratislava,Europe,Slovak Koruna,SKK,5414937.00
SL,Sierra Leone,SL,SL,SLE,694.00,Freetown,Africa,Leone,SLL,5426618.00
SM,San Marino,SM,SM,SMR,674.00,San Marino,Europe,Euro,EUR,27336.00
SN,Senegal,SG,SN,SEN,686.00,Dakar,Africa,CFA Franc BCEAO,XOF,10284929.00
SO,Somalia,SO,SO,SOM,706.00,Mogadishu,Africa,Somali Shilling,SOS,7488773.00
SR,Suriname,NS,SR,SUR,740.00,Paramaribo,South America,Suriname Guilder,SRG,433998.00
SV,El Salvador,ES,SV,SLV,222.00,San Salvador,Central America and the Caribbean,El Salvador Colon,SVC,6237662.00
SY,Syria,SY,SY,SYR,760.00,Damascus,Middle East,Syrian Pound,SYP,16728808.00
SZ,Swaziland,WZ,SZ,SWZ,748.00,Mbabane,Africa,Lilangeni,SZL,1104343.00
TC,Turks and Caicos Islands,TK,TC,TCA,796.00,Cockburn Town,Central America and the Caribbean,US Dollar,USD,18122.00
TD,Chad,CD,TD,TCD,148.00,N'Djamena,Africa,CFA Franc BEAC,XAF,8707078.00
TF,French Southern and Antarctic Lands,FS,TF,ATF,260.00,--,Antarctic Region,Euro,EUR,0.00
TG,Togo,TO,TG,TGO,768.00,Lome,Africa,CFA Franc BCEAO,XOF,5153088.00
TH,Thailand,TH,TH,THA,764.00,Bangkok,Southeast Asia,Baht,THB,61797751.00
TJ,Tajikistan,TI,TJ,TJK,762.00,Dushanbe,Commonwealth of Independent States,Somoni,TJS,6578681.00
TK,Tokelau,TL,TK,TKL,772.00,--,Oceania,New Zealand Dollar,NZD,1445.00
TM,Turkmenistan,TX,TM,TKM,795.00,Ashgabat,Commonwealth of Independent States,Manat,TMM,4603244.00
TN,Tunisia,TS,TN,TUN,788.00,Tunis,Africa,Tunisian Dinar,TND,9705102.00
TO,Tonga,TN,TO,TON,776.00,Nuku'alofa,Oceania,Pa'anga,TOP,104227.00
TP,East Timor,TT,TL,TLS,626.00,--, ,Timor Escudo,TPE,
TR,Turkey,TU,TR,TUR,792.00,Ankara,Middle East,Turkish Lira,TRL,66493970.00
TT,Trinidad and Tobago,TD,TT,TTO,780.00,Port-of-Spain,Central America and the Caribbean,Trinidad and Tobago Dollar,TTD,1169682.00
TV,Tuvalu,TV,TV,TUV,798.00,Funafuti,Oceania,Australian Dollar,AUD,10991.00
TW,Taiwan,TW,TW,TWN,158.00,Taipei,Southeast Asia,New Taiwan Dollar,TWD,22370461.00
TZ,Tanzania,TZ,TZ,TZA,834.00,Dar es Salaam,Africa,Tanzanian Shilling,TZS,36232074.00
UA,Ukraine,UP,UA,UKR,804.00,Kiev,Commonwealth of Independent States,Hryvnia,UAH,48760474.00
UG,Uganda,UG,UG,UGA,800.00,Kampala,Africa,Uganda Shilling,UGX,23985712.00
UK,United Kingdom,UK,GB,GBR,826.00,London,Europe,Pound Sterling,GBP,59647790.00
UM,United States Minor Outlying Islands,--,UM,UMI,581.00,--, ,US Dollar,USD,0.00
US,United States,US,US,USA,840.00,Washington, DC,North America,US Dollar,USD,278058881.00
UY,Uruguay,UY,UY,URY,858.00,Montevideo,South America,Peso Uruguayo,UYU,3360105.00
UZ,Uzbekistan,UZ,UZ,UZB,860.00,Tashkent,Commonwealth of Independent States,Uzbekistan Sum,UZS,25155064.00
VA,Holy See (Vatican City),VT,VA,VAT,336.00,Vatican City,Europe,Euro,EUR,890.00
VC,Saint Vincent and the Grenadines,VC,VC,VCT,670.00,Kingstown,Central America and the Caribbean,East Caribbean Dollar,XCD,115942.00
VE,Venezuela,VE,VE,VEN,862.00,Caracas,South America, Central America and the Caribbean,Bolivar,VEB,23916810.00
VG,British Virgin Islands,VI,VG,VGB,92.00,Road Town,Central America and the Caribbean,US Dollar,USD,20812.00
VI,Virgin Islands,VQ,VI,VIR,850.00,Charlotte Amalie,Central America and the Caribbean,US Dollar,USD,122211.00
VN,Vietnam,VM,VN,VNM,704.00,Hanoi,Southeast Asia,Dong,VND,79939014.00
VU,Vanuatu,NH,VU,VUT,548.00,Port-Vila,Oceania,Vatu,VUV,192910.00
WF,Wallis and Futuna,WF,WF,WLF,876.00,Mata-Utu,Oceania,CFP Franc,XPF,15435.00
WS,Samoa,WS,WS,WSM,882.00,Apia,Oceania,Tala,WST,179058.00
YE,Yemen,YM,YE,YEM,887.00,Sanaa,Middle East,Yemeni Rial,YER,18078035.00
YT,Mayotte,MF,YT,MYT,175.00,Mamoutzou,Africa,Euro,EUR,163366.00
YU,Yugoslavia,YI,YU,YUG,891.00,Belgrade,Europe,Yugoslavian Dinar,YUM,10677290.00
ZA,South Africa,SF,ZA,ZAF,710.00,Pretoria,Africa,Rand,ZAR,43586097.00
ZM,Zambia,ZA,ZM,ZWB,894.00,Lusaka,Africa,Kwacha,ZMK,9770199.00
ZW,Zimbabwe,ZI,ZW,ZWE,716.00,Harare,Africa,Zimbabwe Dollar,ZWD,11365366.00

I can't tell you, but I can tell you how to troubleshoot it:

1) Copy down the EXACT error message, for reference
2) comment out the calls to functions, one by one, until you find out which function is causing the error.

3) going into that function - comment out various lines, one by one, until you figure out exactly what line of code is giving you the error.

4) Check that out as thoroughly as you can

5) Still stuck, post THAT info back here, and we'll be able to help you more.

The troubleshooting described above is a basic programming skill, which you will have to learn - and learn well - if you're going to program.

"one by one" doesn't literally mean just one function or line of code at a time. You might do several at a time, and keep cutting the amount you're commenting out, down by half, each time you re-try.

Similar to a binary search algorithm. Same goal though - find the faulty line of code.

Hi, I have troubleshot the program. the readData() is working ok, but when i input the rest of the code it outputs a Segmentation fault. When i run the code without readData(), it works normally. However i cant find the exact code/line that causes the error. Any help on this? thanks

Hey, i actually solved the problem, indirectly. Because the txt file has an empty line below ( Line242), thats causing the error. So how do i change the readData() to retify this error? Many thanks

That's good. My compiler liked the program, (no errors or warnings), but also ran out of memory.

Empty lines can be detected by:

if(strlen(buffer)< 2)
  //line is one char - undoubtedly a newline char: '\n'
  break; //or continue; are common
This question has already been answered. Start a new discussion instead.