VC++2008EEで、1バイト文字コード限定プログラム作成方法は?

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
non

VC++2008EEで、1バイト文字コード限定プログラム作成方法は?

#1

投稿記事 by non » 15年前

お久しぶりです。nonです。
Windows7の64ビットにしたら、なぜかBCCが動かなくなりました。どうせならと思い、
VC++2008EEに乗り換えることにしました。

さて、C言語プログラムで1バイト文字コードの下のプログラムを動かせるように設定するには
どうすればよろしいのでしょうか?
下のプログラムは小文字を大文字に変換しています。エラー処理なし。
#include <stdio.h>

void strupper(char *s)
{
    while(*s!='\0'){
        *s-=('a'-'A');
        s++;
    }
}

int main()
{
    char *str="abcdefg";
    strupper(str);
    printf("%s\n",str);
    return 0;
}
今の設定は、Win32コンソールアプリケーションで
コンソールアプリケーション、空のプロジェクト
ファイル名の拡張子を.cで、
コンパイル言語の選択を「Cコードとしてコンパイル(・TC)」
文字セット「マルチバイト文字セットを使用する」
char型を規定でunsignedを「はい」

にしてます。
コンパイルエラーはありませんが、実行すると暴走します。

たいちう

Re:VC++2008EEで、1バイト文字コード限定プログラム作成方法は?

#2

投稿記事 by たいちう » 15年前

char *str="abcdefg";

char str[/url]="abcdefg";


non

Re:VC++2008EEで、1バイト文字コード限定プログラム作成方法は?

#4

投稿記事 by non » 15年前

たいちうさん、お久しぶりです。
確かに、それで動きますね。ということは、設定は良いということですね。

さて、そこで困った。
char *str="abcdefg";

どうして?あれ?どうしてだめなんですか?

non

Re:VC++2008EEで、1バイト文字コード限定プログラム作成方法は?

#5

投稿記事 by non » 15年前

ああ、そうですね。うっかりしてました。お恥ずかしい。


閉鎖

“C言語何でも質問掲示板” へ戻る