-1

なぜこのエラーが発生するのですか?

*編集私は自分のソリューションを一番下に投稿しました。プログラムの特定のセクションで strcpy() を使用できなかったことが判明しました。

4

2 に答える 2

5

ということstrcpy()ですか?strcopy()私が知っていると呼ばれる標準関数はありません。std::stringまた、C++ を使用している場合は、コピーやその他の文字列操作が処理されるため、可能であれば代わりに使用してください。

于 2012-05-01T22:14:30.680 に答える
2

私は自分に合った解決策を見つけました。私が strcpy で行ったような問題がある場合は、size() を使用して文字列のサイズを把握し、while ループを使用してそれを char 配列に追加することができます。これは最終的に私のために働いたものです:

char 配列 data.name[30] を持つデータ構造メンバーがあり、ファイルに名前を構成する 2 つの単語 (最初と最後) があり、strcpy を使用して char 配列に追加することはできないとします。 . また、処理中に姓が失われるため、文字列ストリームも使用できません。ファイル内のテキストには、区切り記号 # で区切られたフィールドが含まれています (ただし、改行で終わる最後のフィールドは例外です。名前フィールドには次を使用しました:

/* we already declared an ifstream inputFile and opened it. */
while(!inputFile.eof())
{
    string temp;
    getline(inputFile, temp, '#');
    int size=temp.size();
    int i=0;
    while (i<size)
    {
       data.name[i]=temp[i];
       i++;
    }      
}

data.name[i]=0;
inputFile.close();
于 2012-05-02T18:06:57.383 に答える