Messsage from sigruna14 in MacGuyver - Skills & Academics #tech

ThisIsChris 2018-01-29 02:47:20  

There's a few things it could have been, all of them "bugs". When you connect to the internet, traffic goes from your computer to your router to your modem to your ISP, and then out to the rest of the world. Anywhere along that chain there could be problems getting traffic in or out. By connecting to that numerial address on your router, you were connecting to a website that is just on your router, so the traffic didn't have to go all the way to your ISP. In other words, you were *just* testing the connection between your computer and your router. This was simpler for the router then having to get traffic from the ISP and forward it to your computer, so by doing a simpler task it may have just reminded your router how to connect correctly to your computer, and then it was able to do the more complex task of forwarding you traffic from the real internet correctly

JesseJames 2018-01-29 02:48:45  

Ah. Just when I think I'm fairly good with computers. Lol.

ThisIsChris 2018-01-29 02:51:21  

haha to be fair without the manufacturer's code it's hard to know *exactly* what's going on, you just have some broad ideas of how things work and try poking around in them.

JesseJames 2018-01-29 03:51:19  

Does a hammer work for poking around?

ThisIsChris 2018-01-29 03:58:44  


sigruna14 2018-01-29 23:31:56  

char c[] = "Str";
c[1] = 'r';
printf("%s\n", c); //Output: Srr
How to get this to work with an array of strings? I have an array of strings (char*) and I need to modify individual characters of each string. I'm getting segfaulted because I had type `char**`. Now I know `char[]` works for individual strings but how can I extend that to arrays of them? I'm writing this in C btw.

John O - 2018-01-29 23:33:07  

@JesseJames what do you think?

JesseJames 2018-01-29 23:34:50  

@John O - obviously I know the answer but I think the outcome would be satisfying.

John O - 2018-01-29 23:35:06  

Ball peen or claw?

JesseJames 2018-01-29 23:41:31  

Hmm that's a tough one.

Why Tea 2018-01-29 23:46:17  

You not happy with StackOverflow answer, @sigruna14 ?

Why Tea 2018-01-29 23:46:50  

1st answer here is easier than me writing out pointer thingy data structure:

sigruna14 2018-01-29 23:50:29  

@Why Tea I'm not sure how that addresses what I'm trying to do here.

Why Tea 2018-01-29 23:51:25  

Then maybe I don't understand the question. "How do I create an array of strings" is your question, and the second answer in that StackOverflow pretty much covers it.

Why Tea 2018-01-29 23:51:45  

For multiple cases.

sigruna14 2018-01-29 23:51:52  

No, I know how to create an array of strings. My question is how to modify individual characters of the strings within said array.

Why Tea 2018-01-29 23:53:40  

The answer to that is in there if you read carefully.

sigruna14 2018-01-29 23:55:07  

char a[2][14];
strcpy(a[0], "blah");
strcpy(a[1], "hmm");```

sigruna14 2018-01-29 23:55:18  

You're talking about this? Wholesale string copy?

Why Tea 2018-01-29 23:56:55  

Are you wanting to hit the individual characters in the string and substitute? I think I did miss the gist of what the question is. You have variable length strings, in an array structure (pointers to a bunch of strings) but you want to change just individual characters at will?

sigruna14 2018-01-29 23:59:48  

It is an array of three strings, each of which is three characters long. It starts out with each string being `"000"`. I need to be able to reach in and change the zeroes to ones where necessary.

Why Tea 2018-01-30 00:00:36  


Why Tea 2018-01-30 00:01:01  

But you want to reach in and "touch" each one individually, at will.

Perihelion - CA 2018-01-30 00:01:20  

Pointer math

sigruna14 2018-01-30 00:01:23  


Perihelion - CA 2018-01-30 00:02:16  

Add data type size to array pointer to access each char

Perihelion - CA 2018-01-30 00:03:03  

Assuming your language won't let you index the array like a normal person

Perihelion - CA 2018-01-30 00:04:13  

That's all indexes are anyway. Array pointer + index * data type size

sigruna14 2018-01-30 00:04:19  

Well I mean, obviously it won't.

sigruna14 2018-01-30 00:04:42  

So do like `*array + (sizeof(char) * 2)`?

Perihelion - CA 2018-01-30 00:04:49  


sigruna14 2018-01-30 00:13:59  

@Perihelion - CA Nope, "lvalue required as left operand of assignment"

Perihelion - CA 2018-01-30 15:36:18  

I think you have to use &array to let it know you're treating the array like a bit literal

Perihelion - CA 2018-01-30 15:44:29  

Ok do this for c++ *(array+2) to get value

Perihelion - CA 2018-01-30 15:44:58  

Array + 2 for mem address reference

sigruna14 2018-02-01 18:08:59  

I'm having a weird problem. Anybody wanna help?

ThisIsChris 2018-02-01 19:45:47  
ThisIsChris 2018-02-02 16:10:48  

@sigruna14 is it a C thing?

sigruna14 2018-02-02 16:11:25  

Yeah but it works now. Actually you want the code? See if you can break it. I think it's working. Still need to document it but I can tell you what it accepts.

sigruna14 2018-02-02 16:11:57  
ThisIsChris 2018-02-02 16:13:47  

Yeah let's do it man @sigruna14