Практическое руководство. Считывание символов из строки

С помощью приведенного ниже примера кода можно считать некоторое количество символов из существующей строки, начиная с указанной позиции в строке. Для этого, как показано ниже, используется StringReader.

Этот код определяет строку и преобразует ее в массив символов, который потом может быть считан с использованием соответствующего метода StringReader.Read.

Этот пример считывает только указанное количество символов из строки.

Пример

Imports System
Imports System.IO

Public Class CharsFromStr
    Public Shared Sub Main()
        ' Create a string to read characters from.
        Dim str As String = "Some number of characters"
        ' Make a char array the size of the source string
        Dim b(str.Length) As Char
        ' Create an instance of StringReader and attach it to the string.
        Dim sr As New StringReader(str)
        ' Read 13 characters into the array that holds the string,
        ' starting at the third array member.
        sr.Read(b, 0, 13)
        ' Display the output.
        Console.WriteLine(b)
        ' Read the rest of the string from the current position in the
        ' source string into the array, starting at the 6th array member.
        sr.Read(b, 5, str.Length - 13)
        ' Display the output.
        Console.WriteLine(b)
        ' Close the StringReader.
        sr.Close()
    End Sub
End Class
' The example has the following output:
'
' Some number o
' Some f characters
using System;
using System.IO;

public class CharsFromStr
{
    public static void Main()
    {
        // Create a string to read characters from.
        string str = "Some number of characters";
        // Make a char array the size of the source string
        char[] b = new char[str.Length];
        // Create an instance of StringReader and attach it to the string.
        StringReader sr = new StringReader(str);
        // Read 13 characters into the array that holds the string,
        // starting at the third array member.
        sr.Read(b, 0, 13);
        // Display the output.
        Console.WriteLine(b);
        // Read the rest of the string from the current position in the
        // source string into the array, starting at the 6th array member.
        sr.Read(b, 5, str.Length - 13);
        // Display the output.
        Console.WriteLine(b);
        // Close the StringReader.
        sr.Close();
    }
}
// The example has the following output:
//
// Some number o
// Some f characters
using namespace System;
using namespace System::IO;

public ref class CharsFromStr
{
public:
    static void Main()
    {
        // Create a string to read characters from.
        String^ str = "Some number of characters";
        // Make a char array the size of the source string
        array<Char>^ b = gcnew array<Char>(str->Length);
        // Create an instance of StringReader and attach it to the string.
        StringReader^ sr = gcnew StringReader(str);
        // Read 13 characters into the array that holds the string,
        // starting at the third array member.
        sr->Read(b, 0, 13);
        // Display the output.
        Console::WriteLine(b);
        // Read the rest of the string from the current position in the
        // source string into the array, starting at the 6th array member.
        sr->Read(b, 5, str->Length - 13);
        // Display the output.
        Console::WriteLine(b);
        // Close the StringReader.
        sr->Close();
    }
};

int main()
{
    CharsFromStr::Main();
}
// The example has the following output:
//
// Some number o
// Some f characters

См. также

Задачи

Практическое руководство. Создание списка каталогов

Практическое руководство. Считывание из нового файла данных и запись в этот файл

Практическое руководство. Открытие файла журнала и добавление в него данных

Практическое руководство. Считывание текста из файла

Практическое руководство. Запись текста в файл

Практическое руководство. Запись символов в строку

Ссылки

StringReader

StringReader.Read

Основные понятия

Основы файлового ввода-вывода