Почему вам не нужен getchar () при получении целого числа в качестве входных данных?
blockquote>Интерпретируя ваш вопрос с точки зрения различий между двумя приведенными примерами, вы, кажется, спрашивать о разнице между обработкой
scanf
директив%c
и обработкой директив%d
. Самое простое, объяснение состоит в том, что спецификацииscanf
говорят, что когда он пытается соответствовать директиве%d
, он должен пропустить любой начальный пробел. Который, кстати, может содержать любое количество символов и который распознает больше символов, чем просто ASCII 0x20, в качестве пробела.
%c
на самом деле странный здесь. Из всехscanf
директив, которые соответствуют и преобразуют входные данные, это одна из двух, которые не пропускают начальный пробел. Это имеет смысл, поскольку позволяетscanf()
читать пробельные символы в качестве входных данных, а также потому, что вы можете указать ему совпадение (и, следовательно, пропустить) начальных пробелов, вставляя пробел в строку формата непосредственно перед%c
(или любым другим другое) директива. Или вы можете читать и игнорировать любой одиночный символ, как это делает вашgetchar()
, вставив дополнительную директиву%*c
в формат.Пропуск пробелов, выполняемый для большинства других директив, является удобством, обслуживающим табличные данные фиксированного формата, которые могут иметь различное количество места между отдельными элементами.
можно сохранить его в файл настроек и обновить его на 'onclosing' событии.
для установки настройки goto Свойства проекта->, настройки-> затем устанавливают настройку как 'dialogsize' типа system.drawing.size.
затем сделайте это в своей диалоговой форме:
Public Sub New()
InitializeComponent()
End Sub
Public Sub New(ByVal userSize As Size)
InitializeComponent()
Me.Size = userSize
End Sub
Protected Overrides Sub OnClosing(ByVal e As System.ComponentModel.CancelEventArgs)
MyBase.OnClosing(e)
My.Settings.DialogSize = Me.Size
My.Settings.Save()
End Sub
сделайте что-то вроде этого, чтобы проверить и использовать установку:
Dim dlg As MyDialogWindow
If My.Settings.DialogSize.IsEmpty Then
dlg = New MyDialogWindow()
Else
dlg = New MyDialogWindow(My.Settings.DialogSize)
End If
dlg.ShowDialog()
Можно также сделать это использование UI, обеспеченного самим IDE VB.NET. В области свойств для формы посмотрите под объектом, названным" (Параметры настройки приложения)" и затем при "Привязке Свойства". Можно связать примерно каждое свойство формы (включая размер и местоположение) к значению настроек для того приложения.
Как оказалось, я нашел способ сделать это использование System.IO.IsolatedStorage