テキストファイルから文字列を読み出し、switch文でcase分けしようとしてるのですが、
エラーが出てしまい、とまっています。
構文的におかしなところがあるかチェックしたのですが、なかなか思い当たらなく、
ここに相談させていただきました。
while(fgets(buf,256,configfile) != NULL)
{
if(strchr(buf,'#') == NULL ) // 先頭が"#"かチェック
{
switch(buf[])
{
case"HttpPort":
break;
case"ServerName":
break;
case"DocumentRoot":
break;
case"DirectoryIndex":
break;
default:
break;
// 先頭に'#'がなければ読み出す
printf("%s",buf);
}
}
}
エラーの内容は、下記のような内容です。
C2059: 構文エラー : ']'
C2046: 'case' が正しくありません。
C2046: 'case' が正しくありません。
C2046: 'case' が正しくありません。
C2047: 'default' が正しくありません。
よろしくお願いします。
swtch文でエラー
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: swtch文でエラー
switch~caseで扱えるのは数値だけです。
なので文字列でエラーになっています。
全てif文で書きなおしてくださいね。
こんなのが出来るのは、PHPとか別の言語だけですよ。
なので文字列でエラーになっています。
全てif文で書きなおしてくださいね。
こんなのが出来るのは、PHPとか別の言語だけですよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。