Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Лишние символы при чтении файла

538
16 апреля 2008 года
AVDEY
188 / / 17.11.2005
Вобщем надо будет считать файл в массив структур, но для тестирования создал консольное приложение для вывода одной строки.
Вот така проблема: в txt файл ввожу данные вручную строку 20 символов например "РРР ооо УЕН GHJK:L " при считывании и виводе на экран выводиться все то же самое но вконце: "РРР ооо УЕН GHJK:L ¤¤¤¤♥☺", тоесть 6 символов ни откуда.
Что это такое и как с этим бороться?
Код:
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "windows.h"

static HANDLE hFile=NULL;
static unsigned long dwByte;

int _tmain(int argc, _TCHAR* argv[])
{

    hFile=CreateFile(L"1.txt",GENERIC_WRITE|GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,
        NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);  

if(hFile!=INVALID_HANDLE_VALUE)
{
    unsigned char *Read=new unsigned char[20];

   
    if(!ReadFile(hFile,Read,20,&dwByte,NULL))
    printf("%ReadFile Error %i\n",GetLastError());
/*Если вывести так тогда после считанной информации еще на экране выводятся лишние символы у меня
 ¤¤¤¤♥☺ (253,253,253,253,3,1) тоесть по счету это получается 20,21,22,23,24,25 байти под которые память
я как бы не отводил*/
    printf("%s\n",Read);
//А так все нормально
    for(int i=0; i<20; i++)
    printf("%i=\t%c\n",i,Read);

    CloseHandle(hFile);
}
else { printf("Error code=%i\n",GetLastError());}


_getch();
    return 0;
}
3
16 апреля 2008 года
Green
4.8K / / 20.01.2000
А завершающий 0 в C-string еще никто не отменял.
538
16 апреля 2008 года
AVDEY
188 / / 17.11.2005
Тоесть мне надо самому прописывать 20-им символом символ окончания строки? "\0"
3
16 апреля 2008 года
Green
4.8K / / 20.01.2000
Да, именно так.
538
16 апреля 2008 года
AVDEY
188 / / 17.11.2005
Спасибо все получилось.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог