why is this strcmp not working?
Re: why is this strcmp not working?
I mislead you, it appears. You need this file:
http://sourceforge.net/projects/bricxcc ... z/download
I will fix the links on the NBC download page. This reminds me that I am way super extremely late in producing an official release of 1.2.1.r5 and BricxCC 3.3.8.10. I will try to remedy that this week.
John Hansen
http://sourceforge.net/projects/bricxcc ... z/download
I will fix the links on the NBC download page. This reminds me that I am way super extremely late in producing an official release of 1.2.1.r5 and BricxCC 3.3.8.10. I will try to remedy that this week.
John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
http://bricxcc.sourceforge.net/
Re: why is this strcmp not working?
NXC does not currently support pointers so stdlib API functions that I have implemented are usually not exactly C stdlib. They often have slightly or significantly different parameter types. In NXC where you might normally use "char *" you would use the "string" type which is essentially identical to a character array, i.e., char msg[] = "123"; and where you might subsequently pass msg as a char * parameter you pass it either by value using a not exactly C syntax for array passing, i.e., void foo(char msg[]). or you use the string type instead, i.e., void foo(string msg). A char array is not necessarily null terminated but functions which use the string type expect that it is null terminated, i.e., strlen(msg) = 3 but ArrayLen(msg) = 4.
NXC supports structures but not structures with member functions and the string type is not a structure or a class. It is a char array which is expected to always be null terminated. You can treat it like a char array if you like as NXC is not particularly type safe when it comes to arrays and strings. Technically, a string is actually a byte array but it is sometimes useful to think of it like the char* or char array types in C.
John Hansen
NXC supports structures but not structures with member functions and the string type is not a structure or a class. It is a char array which is expected to always be null terminated. You can treat it like a char array if you like as NXC is not particularly type safe when it comes to arrays and strings. Technically, a string is actually a byte array but it is sometimes useful to think of it like the char* or char array types in C.
John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
http://bricxcc.sourceforge.net/
-
- Posts: 20
- Joined: 16 Feb 2012, 22:59
Re: why is this strcmp not working?
Ahh yes, this link perfect, thank you for that link and that explanation of strings. That cleared up a lot of confusion. The update process seems like I just replace the old file with name "xxxxx" with it's new file with the same name "xxxxx"... but I am still getting error 1 when I try to compile that code you gave me earlier in this thread, when we first realized that I had an old version of the compiler...
Re: why is this strcmp not working?
I don't understand what you mean by Error 1. Can you post a zip containing the code in a .nxc file plus all of the compiler output in a .txt file?
John Hansen
John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
http://bricxcc.sourceforge.net/
-
- Posts: 20
- Joined: 16 Feb 2012, 22:59
Re: why is this strcmp not working?
sure.. the code (which you already have because you actually made) is
and as for compiler output, there is none that I'm aware of. Before I remember an AppleScript dialog used to pop up with any errors and debug info, with buttons on the bottom marked "edit" and "ok" but now that dialog just says Error 1 has occured, while still giving me the option to edit or press ok...
Oh, and this error is not specific to this code. I've tried it with other .nxc docs and I get error 1 with those too.. maybe I have a virus or something? In any case, the .zip is attached, but there is only a BBedit code file.. there is no debugging output from AS, and I could not find an error log in Console for NXC.. was there one that I missed or if not, what else should I do?
Code: Select all
task main()
{
 string input = "fooba";
  int cmdComp = strcmp(input, "foobar");
  NumOut(0, LCD_LINE2, cmdComp);
  if (cmdComp == 0) {
   TextOut(0, LCD_LINE1, "cmdComp==0");
   Wait(1000);
  } else {
   TextOut(0, LCD_LINE1, "cmdComp!=0");
  Wait(1000);
  }
  while(true);
}
Oh, and this error is not specific to this code. I've tried it with other .nxc docs and I get error 1 with those too.. maybe I have a virus or something? In any case, the .zip is attached, but there is only a BBedit code file.. there is no debugging output from AS, and I could not find an error log in Console for NXC.. was there one that I missed or if not, what else should I do?
- Attachments
-
- NXC Stuff.zip
- (1.61 KiB) Downloaded 255 times
Re: why is this strcmp not working?
I recommend that you consider trying out my NXTCC utility for Mac OS X. It includes an integrated NBC compiler and simple code editor along with all the standard tool windows that come with BricxCC. http://bricxcc.sourceforge.net/utilities.html
Your nxc file is not a plain ASCII file. Probably something to do with the editor you are using. I see 0xCA characters in it that in notepad look like a capital E with a ^ on top. These are what are causing the compiler to fail.
I would not recommend using the AppleScript files anymore. They have not been updated in quite a while. It would be better to use some sort of plugin for an editor like xcode or textmate (google "nxc textmate" or "nxc xcode").
http://www.mastincrosbie.com/Marks_LEGO ... _10.5.html
You could also run the compiler from a Terminal window prompt. Or you could use my NXTCC tool. My Mac OS X tools require that you have the LEGO MINDSTORMS FANTOM drivers installed for Mac OS X.
http://cache.lego.com/upload/contentTem ... 5DA785.zip
John Hansen
Your nxc file is not a plain ASCII file. Probably something to do with the editor you are using. I see 0xCA characters in it that in notepad look like a capital E with a ^ on top. These are what are causing the compiler to fail.
I would not recommend using the AppleScript files anymore. They have not been updated in quite a while. It would be better to use some sort of plugin for an editor like xcode or textmate (google "nxc textmate" or "nxc xcode").
http://www.mastincrosbie.com/Marks_LEGO ... _10.5.html
You could also run the compiler from a Terminal window prompt. Or you could use my NXTCC tool. My Mac OS X tools require that you have the LEGO MINDSTORMS FANTOM drivers installed for Mac OS X.
http://cache.lego.com/upload/contentTem ... 5DA785.zip
John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
http://bricxcc.sourceforge.net/
-
- Posts: 20
- Joined: 16 Feb 2012, 22:59
Re: why is this strcmp not working?
well, I know it's not what you said, but I do use the NeXT Tools (first on the page) and love it. Is it written in java? Anyway, I was looking at the page again, and I didn't see the NXTCC util, but didit mean the tools thing that I use?I recommend that you consider trying out my NXTCC utility for Mac OS X. It includes an integrated NBC compiler and simple code editor along with all the standard tool windows that come with BricxCC.
Wow, you were right, lol.. I hate when that happens! Now it compiles no problem.Your nxc file is not a plain ASCII file. Probably something to do with the editor you are using. I see 0xCA characters in it that in notepad look like a capital E with a ^ on top. These are what are causing the compiler to fail.
I've been using BBedit to write the code, and the AS things to compile, but when I first got nbc, I was using the terminal command to compile + upload, so I can just do that again.I would not recommend using the AppleScript files anymore. They have not been updated in quite a while. It would be better to use some sort of plugin for an editor like xcode or textmate (google "nxc textmate" or "nxc xcode").
I do see ur point, but I used the xcode plugin before (probably partly incorrectly) and I didn't notice too many advantages... but like I said, I think I used it wrong.They have not been updated in quite a while. It would be better to use some sort of plugin for an editor like xcode or textmate (google "nxc textmate" or "nxc xcode").
Re: why is this strcmp not working?
NXTCC is right below the NeXT Tools link. Here's the direct link:
http://bricxcc.sourceforge.net/nxtcc_osx.zip
John Hansen
http://bricxcc.sourceforge.net/nxtcc_osx.zip
John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
http://bricxcc.sourceforge.net/
-
- Posts: 20
- Joined: 16 Feb 2012, 22:59
Re: why is this strcmp not working?
Woah, thanks a lot, I don't know how I missed that! this version is similar to the one I used, but is better in a lot of ways
Man, I'm tired... Thanks again though, and I'm sure I'll be back pretty soon with another question. You've helped me with a lot of different things in the NXC, I won't try to guess how useful my student-education of computers is, but in the future, if you ever need something that doesn't require great technical expertise done, I volunteer. (like maintaining the NXC non-forum part of the site or something maybe? Or any java work (I do A LOT of java) really whatever work you need done) Thanks again.
Man, I'm tired... Thanks again though, and I'm sure I'll be back pretty soon with another question. You've helped me with a lot of different things in the NXC, I won't try to guess how useful my student-education of computers is, but in the future, if you ever need something that doesn't require great technical expertise done, I volunteer. (like maintaining the NXC non-forum part of the site or something maybe? Or any java work (I do A LOT of java) really whatever work you need done) Thanks again.
-
- Posts: 20
- Joined: 16 Feb 2012, 22:59
Re: why is this strcmp not working?
I don't mean, "I want this, do it now!" (even though that is what it seems like)
I just meant that if you ever need or want any assistance.. I don't want to feel like I was pressuring or anything..
I just meant that if you ever need or want any assistance.. I don't want to feel like I was pressuring or anything..
Who is online
Users browsing this forum: Semrush [Bot] and 2 guests