Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > С#

С# Средство разработки на платформе .Net

Ответ
 
Опции темы
Старый 01.01.2013, 03:13   #1
wppt
Нуждающийся
 
Регистрация: 25.11.2012
Сообщений: 83
Написано 2 полезных сообщений
(для 2 пользователей)
Операция с файлом

Как осуществить следующее: открыть файл посимвольно читать его. Пока следующий символ - цифра, записывать его в буфер, дописывая его к значению в буфере. Затем строку в буфере перевести в число, провести с ним некоторые операции, потом обратно перевести в строку и записать на том же месте? Пытался сделать что-то сам - потерпел фиаско.
(Offline)
 
Ответить с цитированием
Старый 01.01.2013, 11:35   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Операция с файлом

если файл небольшой, то можно прочитать его полностью в память как строку File.ReadAllText, сделать манипуляции со строкой и перезаписать файл полностью.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 01.01.2013, 15:06   #3
wppt
Нуждающийся
 
Регистрация: 25.11.2012
Сообщений: 83
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Операция с файлом

а вот как именно пропускать все кроме цифр? Просто мне нужно найти все числа в файле и побайтово сдвинуть их вправо
(Offline)
 
Ответить с цитированием
Старый 01.01.2013, 15:27   #4
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Операция с файлом

foreach(char c int str)
{
   if(
Char.IsNumber(c))
   {
     
// цифра
   
}

__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 01.01.2013, 19:19   #5
wppt
Нуждающийся
 
Регистрация: 25.11.2012
Сообщений: 83
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Операция с файлом

блин, так хорошо, сейчас что нибудь сконструирую, проверишь? Только не бей сцаными тряпками, учусь я пока
(Offline)
 
Ответить с цитированием
Старый 01.01.2013, 23:07   #6
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Операция с файлом

Тебе в таком случае лучше использовать Regex.Replace
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 03.01.2013, 17:26   #7
wppt
Нуждающийся
 
Регистрация: 25.11.2012
Сообщений: 83
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Операция с файлом

не силен я в регекспах, а с их помощью точно удастся осуществить это?
(Offline)
 
Ответить с цитированием
Старый 03.01.2013, 21:23   #8
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Операция с файлом

Вот есть такой метод http://msdn.microsoft.com/ru-ru/library/system.text.regularexpressions.regex.matches.aspx
Можно найти все числа с примерным выражением "[0-9]+" и сделать Replace в строке для каждого.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 14:40   #9
wppt
Нуждающийся
 
Регистрация: 25.11.2012
Сообщений: 83
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Операция с файлом

да, вот дела, подумать еще придется
(Offline)
 
Ответить с цитированием
Старый 09.01.2013, 00:16   #10
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений
(для 180 пользователей)
Ответ: Операция с файлом

List<char> chars= new List<char>();
foreach(char c int str)
{
   if(!Char.IsNumber(c)) break;
   chars.Add(c);
}
string digits = new string(chars.ToArray());
int dig = Int32.Parse(digits);
//Делаем с числом что нужно
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 18:55.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com