Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Creating a text file containing no control characters?

Posted on 2004-08-02
7
Medium Priority
?
152 Views
Last Modified: 2013-11-20
I need to create a text file in VC++ .NET containing plain numbers with no control characters which can be read with, say, the Notepad (the way text (not binary) files are created in, say, VB.NET). It appears that all examples given in a book such as Deitel’s “Visual C++ .NET. How to Program” create files which contain control characters and encrypt the data. Is that it? Isn’t there a way to create plain and simple text files in VC++ .NET containing no additional characters that can be viewed by common text editors?
0
Comment
Question by:judico
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
7 Comments
 
LVL 16

Expert Comment

by:nonubik
ID: 11691863
HANDLE      hFile = CreateFile(m_strFileName, GENERIC_READ, 0, 0, CREATE_NEW, FILE_ATTRIBUTE_HIDDEN, 0);
if (hFile == INVALID_HANDLE_VALUE)
{
      OutputDebugString(_T("\nError creating file"));
            
}      
else
{      
                TCHAR      szLine[] = _T("Some text here");
      DWORD      dwBytes;
                WriteFile(hFile, szLine, sizeof(szLine), &dwBytes, 0);
      CloseHandle(hFile);
{
0
 

Author Comment

by:judico
ID: 11694131
I am having problems implementing above code in managed environment (when trying to use forms). Also, what is the corresponding code for reading the created text file? I would appreciate it very much if you could post a working example using forms in VC++ .NET. Thank you in advance.
0
 

Author Comment

by:judico
ID: 11695228
I found a link that seems to solve the problem:

http://support.microsoft.com/default.aspx?scid=kb;%5BLN%5D;307398&product=vcNET#1

There were several typos to be corrected, otherwise it works fine. Now the problems with OpenFileDialog and SaveFileDialog remain to be solved. To start, how can one change the directory in which the file is written in the code:

StreamWriter* pwriter = new StreamWriter( S"\\KBTest.txt" );   ?
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 16

Expert Comment

by:nonubik
ID: 11701137
StreamWriter* pwriter = new StreamWriter( S"c:\\My_Directory\\KBTest.txt" );  
0
 

Author Comment

by:judico
ID: 11706105
This is what I needed:

//This demonstrates how to READ a text file:
      private: System::Void button1_Click(System::Object *  sender, System::EventArgs *  e)
                   {
// Use try...catch to deal with a 0 byte file or a non-existent file.
listBox1->Items->Clear();

try  
{    
      
OpenFileDialog *fileChooser = new OpenFileDialog();
Windows::Forms::DialogResult result = fileChooser->ShowDialog();

// name of file containing data
String *fileName;

// exit event handler if user clicked Cancel
if ( result == DialogResult::Cancel )
     return;

// get specified file name
fileName = fileChooser->FileName;

// show error if user specifies invalid data
if ( ( fileName->Equals( S"" ) ) )
MessageBox::Show( S"Invalid File Name", S"Error",
                         MessageBoxButtons::OK, MessageBoxIcon::Error );

else {

       String* textFile = String::Concat( fileName );
             
     }

      StreamReader *reader = new  StreamReader(fileName);
      do
      {
      listBox1->Items->Add(reader->ReadLine());
      }  
      while(reader->Peek() != -1);
}    
catch(FileNotFoundException *ex)
{
      listBox1->Items->Add(ex);
}  
       
catch (System::Exception *e)
{
      listBox1->Items->Add(e);
}

                   }




 // This demonstrates how to create and to WRITE to a text file.
private: System::Void button2_Click(System::Object *  sender, System::EventArgs *  e)
             {

SaveFileDialog *fileChooser = new SaveFileDialog();
Windows::Forms::DialogResult result = fileChooser->ShowDialog();

String *fileName;

fileChooser->CheckFileExists = false;

if ( result == DialogResult::Cancel )
     return;

fileName = fileChooser->FileName;

if ( ( fileName->Equals( S"" ) ) )
MessageBox::Show( S"Invalid File Name", S"Error",
                         MessageBoxButtons::OK, MessageBoxIcon::Error );

else {
StreamWriter* pwriter = new StreamWriter( fileName );
pwriter->WriteLine( S"The file was created by using the StreamWriter class." );
pwriter->Close();

listBox1->Items->Clear();
String *filew = new String(S"File written to C:\efi\KBTest.txt");
listBox1->Items->Add(filew);

}

Now, the next step is to find out how to place the two columns of numbers in my text file in two separate arrays which I want to use later in the program.

0
 

Accepted Solution

by:
CetusMOD earned 0 total points
ID: 11895558
Closed, 50 points refunded.
CetusMOD
Community Support Moderator
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
In this post we will learn different types of Android Layout and some basics of an Android App.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…

671 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question