Я сохранил файл в двоичном файле, и я могу получить этот размер файла в буфер char[8]
. Я хотел был бы преобразовать этот char[]
в тип off_t
, чтобы иметь возможность передать его в качестве аргумента truncate(const char *path, off_t length)
.Convert char [] to off_t
Я пробовал этот наивный подход и, похоже, работает большую часть времени, но иногда он терпит неудачу и дает мне странную последовательность бит.
off_t pchar_2_off_t(char* str, size_t size)
{
off_t ret = 0;
size_t i;
for (i = 0; i < size; ++i)
{
ret <<= 8;
ret |= str[i];
}
return ret;
}
Преобразовать 'ул [я]' в какой-то знака: '= | в отставке (без знака) ул [я];' – pmg
Вы знаете, если ваши компиляторы 'char' тип подписан или без знака? Это может иметь какое-то отношение к нему, так же как и фактическое * запись * в файл. –
@pmg> Это не похоже на работу. Преобразование не выполняется. – user1527491