Я очень новичок в программировании, спасибо за терпение со мной.
Мне нужна любезная помощь для решения проблемы, с которой я сталкиваюсь, мне нужно прочитать строки из файла Excel (я использую знаменитую библиотеку libxl.h), сохранить их в памяти, переставить (с некоторой логикой) и отправить это в новый файл Excel.
ниже мой код.
#include <iostream>
#include <windows.h>
#include <conio.h>
#include "libxl.h"
using namespace libxl;
const wchar_t* s1;
const wchar_t* r64ms[64]; //I intend to create an array of 64 inputs
int main()
{
Book* book2 = xlCreateBook();
if(book2)
{
if(book2->load(L"..\\xxxx.xls"))
{
Sheet* sheetms = getSheetByName(book2, L"Sheet1");
if(sheetms)
{
for (int i=0; i<= 10; i+=1)
{ s1 = sheetms->readStr(i, 1);
r64ms[i]=s1;
std::wcout << r64ms[i]<< std::endl << std::endl;
}
}
}
}
Book* bookout = xlCreateBook();
if(bookout)
{
Sheet* mssheet_out = bookout->addSheet(L"Sheet1");
if(mssheet_out)
{
for (int i=0; i<=64; i++)
{
mssheet_out->writeStr(i, 1, r64ms[i]);
//even if i only have 10 inputs, I guess it doesn't matter//
//and will only send out 10 //
}
}
}
return 0;
}
При запуске программы возникает ошибка «Необработанное исключение в 0x0fb147af (msvcr100d.dll) в ExtractTS.exe: 0xC0000005: расположение чтения нарушения доступа 0x00000000.», И Указатель отправляет меня в эту строку (см. Строку комментария ‘в эту строку ‘ниже):
size_t __cdecl wcslen (
const wchar_t * wcs
)
{
const wchar_t *eos = wcs;
while( *eos++ ) ; // <<<< This line//
return( (size_t)(eos - wcs - 1) );
}
Независимо от того, что я пытаюсь распечатать с помощью ‘std :: wcout’ или пытаюсь записать StSt в файл Excel, программа в этот момент останавливается и выдает мне эту ошибку.
Может ли кто-нибудь быть таким добрым, чтобы помочь мне?
Я подозреваю, что это ошибка в том, как я создал массив на const wchar_t * или что-то в этом роде.
Я пытался найти в Интернете и не смог найти аналогичный вопрос / решение.
Большое спасибо за ваше терпение со мной!
Задача ещё не решена.
Других решений пока нет …