Shows how to #define and #use #list #data #structures/#classes defined by #strings and how to #convert those into list data structures/classes defined by #class/#struct.
c++ code:
#include <iostream> //for cout
#include <fstream> // for ofstream/ifstream
#include <string> //for << and getline
#include <list> //for lists
struct file_element
//class file_element
{
public:
std::string line;
};
struct List
//class List
{
public:
//std::string data;
file_element data;
List *next;
};
int main()
{
std::string in_file = "test.txt";
std::string out_file = in_file + ".out";
std::ifstream input_file(in_file);
std::ofstream output_file(out_file);
List *elements = NULL;
List *node = NULL ;
List *iter = NULL;
std::string line;
for (; std::getline(input_file, line);)
{
file_element element
{
line
};
iter = new List
{
//line,
element,
NULL
};
if (elements == NULL)
{
elements = iter;
node = iter;
}
else
{
node->next = iter;
node = node->next;
}
}
for (iter = elements; iter != NULL; iter = iter->next)
{
//std::cout << iter->data << std::endl;
//output_file << iter->data << std::endl;
std::cout << iter->data.line << std::endl;
output_file << iter->data.line << std::endl;
}
delete iter;
if (input_file)
{
input_file.close();
output_file.close();
}
std::cin.get();
return 0;
}
c# code:
using System;
using System.Collections.Generic;//for string and list
using System.IO;//to use StreamReader
namespace lec1csharp
{
class Program
{
struct File_element
//class File_element
{
//public string Line;
public string Line { get; set; }
};
class Linked_list
{
//public string Data;
//public File_element Data;
//public Linked_list Next;
public File_element Data { get; set; }
public Linked_list Next { get; set; }
};
static void Main()
{
string in_file = "test.txt";
string out_file = in_file + ".out";
StreamReader input_file = new StreamReader(in_file);
StreamWriter output_file = new StreamWriter(out_file);
Linked_list elements = null;
Linked_list node = null;
Linked_list iter = null;
string line = "";
for (; (line = input_file.ReadLine()) != null;)
{
File_element element = new File_element
{
Line = line
};
iter = new Linked_list
{
//Data = line,
Data = element,
Next = null
};
if (elements == null)
{
elements = iter;
node = iter;
}
else
{
node.Next = iter;
node = node.Next;
}
}
for (iter = elements; iter != null; iter = iter.Next)
{
//Console.WriteLine(iter.Data);
//output_file.WriteLine(iter.Data);
Console.WriteLine(iter.Data.Line);
output_file.WriteLine(iter.Data.Line);
}
iter = null;
if (input_file != null)
{
input_file.Close();
output_file.Close();
}
Console.ReadLine();
}
}
}
#csharp #cplusplus #tutorial