char punct(char a[], int len) {
for (int i = 0; i < len; i++) {
if (ispunct(a[i]))
{ return i; }
return -1;
}
}
この関数が、渡した文字列ごとに -1 しか返さない理由を誰か教えてもらえますか? .txt ファイルから単語を取得し、それらを (少し変更して) 別の .txt ファイルに出力するプログラムを作成しています。文字列から句読点を削除する必要があります。ただし、 ispunct() 関数を使用して句読点がどこにあるかを検出できないようです。想像できる句読点のすべてのケースを使用して独自の関数を作成しましたが、それでも -1 しか返されません。ここの関数または私がそれに与えている文字列に問題がありますか? 私のコードをさらに表示する必要がある場合は、お知らせください。ありがとう!