Click here to Skip to main content
14,420,468 members

C / C++ / MFC

 
GeneralRe: Error reading characters of string Pin
Django_Untaken27-Jul-15 19:32
MemberDjango_Untaken27-Jul-15 19:32 
AnswerRe: Error reading characters of string Pin
Richard Andrew x6427-Jul-15 19:58
professionalRichard Andrew x6427-Jul-15 19:58 
AnswerRe: Error reading characters of string Pin
Albert Holguin28-Jul-15 7:23
professionalAlbert Holguin28-Jul-15 7:23 
QuestionRe: Error reading characters of string Pin
Richard MacCutchan27-Jul-15 22:02
communityengineerRichard MacCutchan27-Jul-15 22:02 
AnswerRe: Error reading characters of string Pin
Django_Untaken28-Jul-15 7:26
MemberDjango_Untaken28-Jul-15 7:26 
GeneralRe: Error reading characters of string Pin
Richard MacCutchan28-Jul-15 7:34
communityengineerRichard MacCutchan28-Jul-15 7:34 
GeneralRe: Error reading characters of string Pin
SundararamanS29-Jul-15 0:39
MemberSundararamanS29-Jul-15 0:39 
QuestionAccessing / printing two dimensional array of char using pointers Pin
Vaclav_26-Jul-15 5:06
MemberVaclav_26-Jul-15 5:06 
I am still struggling with pointers arithmetic.
Here is my crude test code.
I want to use pointers to access ( double - need triple eventually) the array of characters and do not get two things.

Problem #1 is probably how does the LCD class do the "print" and I can figure that one by myself. I do not expect this forum to be familiar with Arduino "library".

Problem # 2
I can print single characters in simple array by incrementing the pointer, but I cannot figure out why I cannot use same method on double array.
I really do not understand what is this error telling me
"error lvalue required as increment operand" - what is "lvalue" ?

Please keep in mind that English is not my native language so go easy on
" pointers to array..." "array of pointers" etc.

As always , I appreciate your help.
Cheers
Vaclav


Addendum
OK, I did some more reading about how the array is initialized and how the NAME of the array cannot be used the way I did try it.

So I did this - it "works" , but I am still not sure if it is correct or just a fluke.


char *pointer = stringTable[0];
lcd_i2c.print((char*) pointer++); // prints entire line
lcd_i2c.print((char*) pointer); // prints entire line starting with second character - expected that




Original post code starts here
char line[MAX_LINE] = "A TEST B";
int ncharacters = strlen(line);

char *sptr; // pointer to memory block returned by malloc
char *stringTable[NLINES]; // array of pointers to string
int i = 0;
sptr = (char*) malloc((unsigned) strlen(line) + 1);


lcd_i2c.clear();
lcd_i2c.print("Index ");
lcd_i2c.print(i);
lcd_i2c.setCursor(0, 1);

lcd_i2c.print("Length ");
lcd_i2c.print(ncharacters );

lcd_i2c.setCursor(0, 2);
lcd_i2c.print("pointer ");
lcd_i2c.print(sptr); // problem #1 prints the entire line - not really a problem here


strcpy(sptr, line); // copy line to pointed memory
lcd_i2c.print(sptr); // TOK prints pointer value ?
// copy pointer to first table array
stringTable[0] = sptr;
lcd_i2c.setCursor(0, 3);
i = 0;
do
{
// TOK prints first character from stringTable[0]
lcd_i2c.print((char) * (*stringTable)); // problem #1 prints only the first character - why it would be nice to print the entire line using pointers!

} while (*(*++stringTable)); error lvalue required as increment operand

-- modified 26-Jul-15 11:18am.
AnswerRe: Accessing / printing two dimensional array of char using pointers Pin
Richard MacCutchan26-Jul-15 6:51
communityengineerRichard MacCutchan26-Jul-15 6:51 
AnswerRe: Accessing / printing two dimensional array of char using pointers Pin
enhzflep26-Jul-15 7:47
Memberenhzflep26-Jul-15 7:47 
GeneralRe: Accessing / printing two dimensional array of char using pointers Pin
Vaclav_26-Jul-15 8:35
MemberVaclav_26-Jul-15 8:35 
QuestionRe: Accessing / printing two dimensional array of char using pointers Pin
CPallini26-Jul-15 21:49
mveCPallini26-Jul-15 21:49 
AnswerRe: Accessing / printing two dimensional array of char using pointers Pin
enhzflep27-Jul-15 1:54
Memberenhzflep27-Jul-15 1:54 
GeneralRe: Accessing / printing two dimensional array of char using pointers Pin
Vaclav_27-Jul-15 16:23
MemberVaclav_27-Jul-15 16:23 
GeneralRe: Accessing / printing two dimensional array of char using pointers Pin
enhzflep27-Jul-15 19:12
Memberenhzflep27-Jul-15 19:12 
GeneralSOLVED Re: Accessing / printing two dimensional array of char using pointers Pin
Vaclav_28-Jul-15 5:04
MemberVaclav_28-Jul-15 5:04 
QuestionRe: Accessing / printing two dimensional array of char using pointers Pin
David Crow27-Jul-15 5:59
MemberDavid Crow27-Jul-15 5:59 
AnswerRe: Accessing / printing two dimensional array of char using pointers Pin
Jeremy Falcon27-Jul-15 6:13
professionalJeremy Falcon27-Jul-15 6:13 
GeneralRe: Accessing / printing two dimensional array of char using pointers Pin
Vaclav_27-Jul-15 6:51
MemberVaclav_27-Jul-15 6:51 
GeneralRe: Accessing / printing two dimensional array of char using pointers Pin
Jeremy Falcon27-Jul-15 7:01
professionalJeremy Falcon27-Jul-15 7:01 
GeneralRe: Accessing / printing two dimensional array of char using pointers Pin
Richard MacCutchan27-Jul-15 8:20
communityengineerRichard MacCutchan27-Jul-15 8:20 
QuestionAdd button to vertical toolbar embedded in CPagerCtrl embedded in CDockingPane attached to CFrameWndEx Pin
Craig Hewitt24-Jul-15 10:02
professionalCraig Hewitt24-Jul-15 10:02 
QuestionC or C++ for customized embedded Linux, which is the best and why? Pin
Abdullah A._Mohamed22-Jul-15 21:16
MemberAbdullah A._Mohamed22-Jul-15 21:16 
AnswerRe: C or C++ for customized embedded Linux, which is the best and why? Pin
CPallini22-Jul-15 21:37
mveCPallini22-Jul-15 21:37 
GeneralRe: C or C++ for customized embedded Linux, which is the best and why? Pin
Richard Deeming23-Jul-15 3:00
communityengineerRichard Deeming23-Jul-15 3:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.