クラスのCコードを書いています。このクラスでは、コードをコンパイルして学校のサーバー (sparc solaris マシン) で実行する必要があります。Linux x64 を実行しています。
解析する次の行があります (これは実際のコードではありませんが、プログラムへの入力です):
while ( cond1 ){
「while」と「cond1」を別々の文字列にキャプチャする必要があります。私はこれstrtok()
を行うために使用してきました。Linux では、次の行:
char *cond = NULL;
cond = (char *)malloc(sizeof(char));
memset(cond, 0, sizeof(char));
strcpy(cond, strtok(NULL, ": \t\(){")); //already got the "while" out of the line
ただし、solaris マシンでこれを実行すると、文字列「cone1」が得られます。
私のプログラム内の他の多くのケースでは、文字列が正しくコピーされていることに注意してください。(たとえば、「while」) が正しくキャプチャされました。
ここで何が起こっているか知っている人はいますか?