私はCプログラミングの初心者です。 私はこの問題を理解していません。 Windows下の文字列は、Linuxとはまったく異なる方法で扱われているようですが、なぜですか?文字列処理CのLinuxとウィンドウ
・タントの私のコード
#include <stdio.h>
#include <string.h> // compare strings
void addextname(char *str1, char *str2, char *nome1){
int i,j;
i = 0;
while (str1[i]!='.') {
nome1[i] = str1[i];
i++;
}
j = 0;
while (str2[j]!='\0') {
nome1[i] = str2[j];
i++;
j++;
}
}
int main()
{
char str1[9]="file.stl";
char str2[9]="name.stl";
int len1 = strlen(str1);
int len2 = strlen(str2);
char nome1[len1+len2+1];
addextname(str1,str2,nome1);
printf("%s %s %s\n",str1,str2,nome1);
return 0;
}
私の目的は、その拡張子(.STL)内の入力ファイル名を読み、それがその拡張子を維持するには、いくつかの文字を追加することです。 Linuxでは、問題はありません。ウィンドウの代わりに、出力ファイル名が正しく保存されません。 マイコンパイルラインは、私は本当にそれに対する答えを感謝
gcc modstr.c -std=c99 -o strings
です!
コードは以前のように見えるので、@ iaoを編集しました – Nicholas
コードブロックを2つの別々のものに分割する括弧でインデントの問題があります。ちょうど良いフォーマットのために:) – qiao
@喬ええ!私はそれが私のコード上にあったと思ったが、後で答えが下にあると思った。 – Nicholas