Read Text File To Array C#

Read a file in c++ into an array Home. Programming Forum. You can't call that function in a loop to read the file line-by-line because the file pointer is destroyed as soon as the function returns to it's caller. You need to call that function only once, then have that function read each line in a loop. Reading a text file and moving. 'All of this section reads the file data in and shows it in a MessageBox. 'The Button2_Click event code.>>>> Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Set up a StreamReader to read the file. Dim sr As New StreamReader('C: ExampleTextFile.txt') 'An array that holds the lineData. Mar 06, 2013  Note that a 2D array isn't well suited for this task, because you don't know the number of lines when reading the file (or at least you shouldn't, you should really read/process the lines one at a time), nor the number of columns per row.

Active5 years, 2 months ago

here's my code.

I am trying to read some data from a text file and store it into an array.Everything is fine while I'm in the loop, but when I get out of there, any value of any index in my array is filled with the last word of the file. Could anyone help me find out mistakes I am doing?

The Essential Michael Jackson is a greatest hits compilation album by American recording artist Michael Jackson released by Sony Music’s catalog division Legacy Recordings as part of The Essential. Michael jackson the essential itunes torrent. Artist: Michael Jackson Album: The Essentials Michael Jackson Genre: Pop Bitrate: 320 kbps Release date: July 18, 2005 Source: http://itunes.apple.com/no/album.

Data file:

Result:

Any help would be appreciated!

iNfas
iNfasiNfas

3 Answers

There are atleast 2 points of concern in your code. char word[9999], *arrayOfWords[9999]; defines arrayOfWords to be an array of 9999 char pointers. This is one point of concern.

Another point is arrayOfWords[wordCount] = word;. Here to store the newly read word, you need to allocate space as arrayOfWords is an array of pointers. Please find your modified code as below.

rioki
4,2494 gold badges24 silver badges48 bronze badges
Document

C# Read Text File To String Array

GaneshGanesh
5,5642 gold badges30 silver badges54 bronze badges

You need to allocate memory for each individual member of your array(using malloc or by giving a second dimension of the array and declaring it of type char instead of char*). What you do is similar to:

Read Text File To 2d Array C#

And this can not work in C. In fact here you have UB(undefined behavior), because the pointer is not initialized.

EDIT: you get all the fields in the array to point to your array word instead, once you have read word you should allocate new memory for the string and then strcpyword into it.

Ivaylo StrandjevIvaylo Strandjev
58k12 gold badges93 silver badges148 bronze badges

This:

C# Read File Into Array

does not copy the current word into separate storage, it merely assigns another pointer to point to the same piece of storage that word does. So you end up with an array of pointers to the same word array. https://goldroid.netlify.app/washington-redskins-75th-anniversary-patch.html. You need to separately allocate memory for each word and copy the characters that make up each word (and the NULL terminator), rather than the pointer.

twalbergtwalbergText
45.1k9 gold badges67 silver badges65 bronze badges

Convert Text File To Array

Not the answer you're looking for? Browse other questions tagged carraysfile or ask your own question.