Другие языки программирования и технологии

Си++. Работа с массивом символов

есть char-овый буффер pBuffer[100] хочу записать в файл массив данных + еще одно значение: for ( int i = 0; i < 16; i++ ) { wsprintf( &pBuffer, "%d", &iCounter ); } ... блаблабла ... WriteFile( pBuffer блаблабла ); так вот, как мне дописать в конец буффера (читай массива) еще одно значение? благодарю.
В конец именно буфера или все таки файла?
Далее - зачем ты создаешь буфер на 100 символов, а записываешь в него только 16? Или под "блаблабла" ты имел ввиду его полное заполнение? Если да, то так и надо писать (а лучше код вообще целиком) .
wsprintf( &pBuffer, "%d", &iCounter ); - если этим ты хотел сказать, что используешь не [ i ] как доступ к элементу, а указатель, то ты забыл сделать итерации в обоих массивах: &pBuffer ++ ; и &iCounter ++ ;
Тебе нужно дописать значение именно ПОСЛЕ записи в файл что ли? или после заполнения массива?
Ну вобщем если ты заполнил все 100 элементов, а тебе нужно дописать 101-ый - то никак. Всмысле - нужно пересоздать и перезаполнить новый массив на уже 101 элемент, и потом уже дописать. Либо использовать динамические массивы (из STL например) .
В общем случае значение будет дописываться так Buffer [ индекс_последнего_элемента ] = значение;
Сергей Базанов
Сергей Базанов
11 177
Лучший ответ
Руслан Ихсанов дописать в массив. 100 взял от балды, код у меня дома. дописать надо после заполнения.
Руслан Ихсанов дописывать надо с 17-ой ячейки массива
Руслан Ихсанов кажись я глючу, если только один символ, то можно же [17] указать. туплю. спасибо.
Ф-ция wsprintf() должна возвращать количество записанных байт. Или количество записанных двубайтных символов. Точно не помню. Используй это значение.
И не используй её в цикле. Так ты пишешь всё время на одно и тоже место. Или же сдвигай pBuffer на количество записанных перед этим символов.
int step=0;
for ( int i = 0; i < 16; i ++ ) {
step=wsprintf( &pBuffer+step, "%d", &iCounter );
}
Руслан Ихсанов только что дошло до моего заторможенного мозга. спасибо
в с++ запись делается через fstream
ofstream out;
out.open( " myfile . txt " ) ;

for ( int i = 0 ; i < 1 6 ; i + +) {
out < < pBuffer [ i ];
}

out < < "есчо чета ";

out.close ( ) ;
Аян Айтуганов
Аян Айтуганов
2 179