検索結果 6038 件

by みけCAT
11時間前
フォーラム: C言語何でも質問掲示板
トピック: 【CSVファイルから読みこんだ文字列の比較】
返信数: 2
閲覧数: 59

Re: 【CSVファイルから読みこんだ文字列の比較】

s1 == s2は文字列の比較ではなく、(配列から変換された)ポインタの比較です。
C言語で文字列を比較するには、strcmp関数を用いるといいでしょう。
by みけCAT
11時間前
フォーラム: C言語何でも質問掲示板
トピック: 三角形の積み上げ
返信数: 1
閲覧数: 70

Re: 三角形の積み上げ

うまく作成できるようにやればいいと思います。
参考になると思うので、「二等辺三角形単体であれば問題ない」の状態のコードを提示できますか?

なお、ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
by みけCAT
2日前
フォーラム: C言語何でも質問掲示板
トピック: Debug Assertion Failed!
返信数: 13
閲覧数: 295

Re: Debug Assertion Failed!

このプログラムには普通の環境では不正な引用符や、不自然な円マークが含まれており、
コピペではなく新規に打ち直したものであると推測できます。
そのため、本来のプログラムに含まれているtypoが含まれないなど、無効な質問になっている可能性が考えられます。
本当にコンパイル・実行しているプログラムをコピペして提示できますか?

なお、ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 乱数と構造体について教えてください。
返信数: 2
閲覧数: 242

Re: 乱数と構造体について教えてください。

  • 配列zahyoは2要素しかなく、範囲外のzahyo[2]に書き込みをしてしまうため、危険です。
    zahyoの要素数を増やしてください。
  • DXライブラリの機能を使う前には、DxLib_Init()関数を呼ぶべきであると考えられます。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の ptr-> id = 101; のような表記について
返信数: 2
閲覧数: 305

Re: 構造体の ptr-> id = 101; のような表記について

このプログラムについて質問です. ptr -> id や ptr -> height のような表現はポインタを表していますよね? ポインタptrが指す構造体のメンバを表しています。 このプログラムの場合、ptr -> id はint型、ptr -> height はdouble型で、ポインタを表していません。 実際, printf("%p, %d", ptr->id, *(ptr->id) ); は正しく出力されますが, printf("%d ", ptr->id ); は警告が出て,そのまま実行しても正しく出力されません. どのような警告ですか? 「正しく出力される」とはどのようなものが出...
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 構造体とメモリについて質問です
返信数: 12
閲覧数: 639

Re: 構造体とメモリについて質問です

>intではなくdoubleですね。 違うよ #1 >質問は,a はint型で4biteのはずですが,なぜ a→b のときに 8bite進んでいるのでしょうか? このint ですよ。 まず、double型のメンバbが4の倍数であり8の倍数でないアドレス(メンバaの直後)に配置されず、 8の倍数であり16の倍数ではないアドレスに配置されていることから、 この環境ではdouble型が8バイトアラインメントであることが読み取れます。 構造体中のdouble型メンバであるbを8バイトアラインメントにするため、 構造体A全体が8バイトアラインメント(もしくは8の倍数アラインメント)になると考えられます...
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 構造体とメモリについて質問です
返信数: 12
閲覧数: 639

Re: 構造体とメモリについて質問です

Math さんが書きました:
2週間前
つまり この int は8 バイトアライメント(= 64ビットアライメント)です。
intではなくdoubleですね。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 再帰関数
返信数: 8
閲覧数: 353

Re: 再帰関数

再帰を使わずに書いてみました。 int型が16ビットの環境では足りません。 int型で少なくとも0~16,777,216の整数を保存できる環境で実行してください。(n<=8の場合) #include <stdio.h> #include <stdlib.h> int main(void) { int n; int i, j; int max; int* data; if (scanf("%d", &n) != 1) return 1; if ((data = malloc(sizeof(int) * n)) == NULL) { perror("malloc"); return 1; } ma...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: [DXライブラリ使用]構造体と管理部を用いたジャンプ処理の実装について
返信数: 6
閲覧数: 273

Re: [DXライブラリ使用]構造体と管理部を用いたジャンプ処理の実装について

以下のコードと画像を追加で用意し、実行してみました。 main.cpp #include <DxLib.h> #include "Player.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { if (ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() != 0) return -1; SetDrawScreen(DX_SCREEN_BACK); int img = LoadGraph("player.png"); Player_t p = {}; Playe...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 実行できません
返信数: 8
閲覧数: 312

Re: 実行できません

もしくは、「まだ実行できない」という認識が「誤り」である可能性が考えられます。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 実行できません
返信数: 8
閲覧数: 312

Re: 実行できません

Wandboxでは正常に実行できるので、環境が不適切な可能性が考えられます。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: どなたか教えてください。構造体について
返信数: 9
閲覧数: 474

Re: どなたか教えてください。構造体について

littlestream さんが書きました:
1ヶ月前
27行目の
*(book_list[num])->title = 1;
しまった、確かにここ(の元のコード)は配列に代入していて、提示されたエラーメッセージが出そうですね。
bufが関係していないので、見落としました。
申し訳ありません。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: どなたか教えてください。構造体について
返信数: 9
閲覧数: 474

Re: どなたか教えてください。構造体について

それっぽいコードが提示されていないので断定はできませんが、
エラーメッセージ通り、strcpy関数ではなく代入演算子で値をセットしようとしたからではないでしょうか?

p.s.
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: バイナリツリーの作成について
返信数: 3
閲覧数: 204

Re: バイナリツリーの作成について

ちなみに、ぱっと見main関数内でregistBtree関数の戻り値を投げ捨てていて良くないように見えますが、 よく見ると、(malloc関数が失敗しない場合)main関数のstartはNULLにならず、 registBtree関数はnodeがNULLでない場合渡されたnodeをそのまま返すので、 main関数内でregistBtree関数の戻り値をstartに代入しなくても問題はありません。 また、nodeにNULLを渡す可能性があるregistBtree関数内では、 仮にアクセス違反による強制終了が起こらないとすると、 きちんとregistBtree関数の戻り値を適切な場所に代入しており...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: バイナリツリーの作成について
返信数: 3
閲覧数: 204

Re: バイナリツリーの作成について

registBtree関数において、nodeがNULLかチェックする前にnode->dataにアクセスしているので、
2個目の文字列を読み込んだ後のregistBtree関数の呼び出しにより、
アクセス違反でプログラムが強制終了してしまい、3個目以降の文字列が読み込めないようですね。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の個数カウント
返信数: 5
閲覧数: 363

Re: 文字列の個数カウント

ctype.hを使うかわりに、ctype.hで宣言される関数を直接宣言して使用する方法もあります。 与えられた文字列のうち、半角の英小文字のみを出力するサンプルです。 #include <stdio.h> /* 関数の宣言 */ int islower(int c); int main(void) { char str[] = "abcABC123!#$"; int i; for (i = 0; str[i] != '\0'; i++) { /* unsigned charにキャストしないと、 全角文字などが入力されたときに負の数が入って異常動作する可能性がある */ if (islower(...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の個数カウント
返信数: 5
閲覧数: 363

Re: 文字列の個数カウント

課題の丸投げは禁止です。 フォーラムルール を読み、従ってください。 特に、 ・aojiruさんは何がわかっていて、何がわかっていないか ・途中まで書いたコードはあるか (あるなら提示してほしい) を聞きたいです。 とはいえ、他の回答者さんがとっとと答えを書いてしまう可能性があるのでヒントを出しておくと、 今回はstring.hは使えるがctype.hは使えないようなので、半角文字のみ対応でいいのであれば、 const char* KOMOZI = "abcdefghijklmnopqrstuvwxyz"; のようにカウント対象の文字のリストを文字列として用意しておいて、 if (strchr...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配布されてるスクリプトをコピー&ペーストしたら
返信数: 8
閲覧数: 407

Re: 配布されてるスクリプトをコピー&ペーストしたら

直接、ここに、画像を upload することは、できないようですね。 あたっしゅさんが制限を受けているかはわかりませんが、私はできます。 登録(してログインしている)ユーザーならできるはずです。 やり方は、 1. 投稿画面の入力欄の下の「添付ファイル」をクリックする 2. 「ファイル追加」ボタンをクリックし、アップロードする画像を選ぶ  (テキストを入れる投稿欄へのドラッグ&ドロップでもいいはず。  添付ファイルのところへのドラッグ&ドロップではダメなので注意) 3. コメントを適当に入力する 4. ファイル名の右の「インライン表示」ボタンを押すことで、画像を本文中に入れることができる 5....
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: #define文法的には間違ってない(多分)のにエラー
返信数: 6
閲覧数: 375

Re: #define文法的には間違ってない(多分)のにエラー

「ENEMY_NUMを定義している(た)部分」より前でRingChara.hなどをincludeしており、
ringchara.hでエラーが出ていますね。
そのため、ENEMY_NUMの定義より前に使用が来てしまった可能性が考えられます。
循環などが起こらないよう、includeの関係を考え直すべきでしょう。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: putchar()関数について質問します。
返信数: 6
閲覧数: 393

Re: putchar()関数について質問します。

もしそうなら、main1()関数も、字化けするはずです。main1()の方は正常に作動します。 私の仮説が正しい場合、「main1()関数も、字化けするはず」ではありません。 main1()関数ではプログラムに埋め込んだ文字(列)データは出力せず、入力に基づいたデータを出力します。 そのため、通常はある環境で入力に用いる文字コードと出力に用いる文字コードは同じだと考えられるので、 ソースコードの文字コードによる問題は発生しないと考えられます。 ('\n'を表すコードが一般的な10ではない特殊な文字コードなら、問題が発生するかもしれませんが…) 一方、main0()関数では、プログラムに埋め込...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: putchar()関数について質問します。
返信数: 6
閲覧数: 393

Re: putchar()関数について質問します。

Windows 7 Home Premium Service Pack 1 (64ビット) Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland でテストしましたが、字化けは確認できず、正常に「これは、ファイルシステムのテストです。」と出力されました。 本当にputchar()が上手く機能しないのですか? ソースコードを実行環境と合わない文字コードで保存し、 そのバイト列がそのまま出力されているため、字化け...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C++でソケット通信を用いたメールの送信
返信数: 9
閲覧数: 551

Re: C++でソケット通信を用いたメールの送信

このスレッドにこれを書くのはこれで3回目ですが、 recvを続けるかどうかは、 受信したデータをプロトコルに沿って解釈し、 レスポンスが終わったかどうかで判断するべきです。 SMTPの仕様 によれば、コマンドのレスポンスは 1個または複数個の「行」からなります。 「行」は、3個の数字から始まり、CR('\r')LF('\n')で終わる文字列です。 「行」の最初の3個の数字の次の文字がハイフンであればこの後も「行」が続き、 そうでなければそれがこのレスポンスの最終「行」です。 従って、3個の数字の後にハイフンが無い「行」の最後のCRLFまで受信するまでrecvを続け、 それを受信したらrecvを...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: fgetsで取得した文字列の末尾の判定
返信数: 7
閲覧数: 423

Re: fgetsで取得した文字列の末尾の判定

配列の中身をsprintfで表示すると、"."で終わっている場合でも改行までは空白の何かが入っているようで 「空白の何か」が何かわかりますか? そもそも、本当に入っているのですか? 提示されたコードから未定義動作を起こす行int str_length = strlen(str);を削除し、 書式%cを%dか%02xに変更して文字コードを出力すると、正体がわかるかもしれません。 配列の中身をsprintfで表示するところまで作成したコードは以下になります このコードは、未初期化の自動変数strの値をstrlen関数内で計算に使用するため、未定義動作になります。 また、「sprintfで表示する...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C++でソケット通信を用いたメールの送信
返信数: 9
閲覧数: 551

Re: C++でソケット通信を用いたメールの送信

意味的には1まとまりのデータでも分割して送られる可能性があるTCPの仕様を無視し、
recvを1回だけ呼び出すことでサーバーからの応答を全て受信できると勘違いしたプログラムを用いたことにより、
実際はSTARTTLSコマンドを送ったにもかかわらず、
SSL/TLSのネゴシエーションを開始せずに別のデータを送ったために切断されているのを、
MAIL FROMで切断されてしまうと勘違いしたようですね。

前にも書いたとおり、きちんとサーバーから送られてきたデータを見てプロトコルに沿って解釈することで、
データの区切りを判定し、データの区切りまで必要十分に受信するべきです。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C++でソケット通信を用いたメールの送信
返信数: 9
閲覧数: 551

Re: C++でソケット通信を用いたメールの送信

recv関数は、デフォルトでは受信したデータが無い(これまで来た分は全て読みきっている)時は、 新しいデータを受信するまで待つ仕様になっています。 一方、サーバー側では、送るべき応答は返したので、クライアント側からの次のコマンドを待っています。 そのため、デッドロックになっているようです。 これを回避するには、受信したデータをちゃんと見てプロトコルに沿って解釈し、 サーバーの応答が終わってクライアントがデータ(コマンド)を送るタイミングになったら、 recv関数を呼ぶのをやめ、次のデータ(コマンド)を送るようにするべきでしょう。 また、とりあえず止まらないようにするには、ioctlsocket...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C++でソケット通信を用いたメールの送信
返信数: 9
閲覧数: 551

Re: C++でソケット通信を用いたメールの送信

また、sprintf_s()関数が使われていますが、使い方が不適切なようです。
sprintf_s()関数の第二引数には書き込み先のバッファサイズを指定するはずなのに、これがありません。
従って、修正するべきでしょう。
  • バッファサイズを引数に取らないsprintf()関数に変更する
  • 引数にバッファサイズを追加する
  • より多くの環境で使えると考えられるsnprintf()関数に変更した上で、引数にバッファサイズを追加する
などの修正方法が考えられます。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C++でソケット通信を用いたメールの送信
返信数: 9
閲覧数: 551

Re: C++でソケット通信を用いたメールの送信

まず、ホスト名が、質問文では「smtp.gmal.com」になっていますが、 提示されたコードでは「smtp.gma i l.com」になっています。 実際に実行しているプログラムではどっちになっているでしょうか? 次に、 プリンタ、スキャナ、アプリからメールを送信する - G Suite 管理者 ヘルプ によると、smtp.gmail.comではポート25は使えないようです。 smtp-relay.gmail.comおよびaspmx.l.google.comではポート25が使えるようなので、 代わりにこれらのホスト名を使うとよさそうであると考えられます。 それでも接続できない場合、プロバイダ...
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 足し算
返信数: 5
閲覧数: 338

Re: 足し算

Math さんが書きました:
3ヶ月前
i++ が単項演算子であり
Math さんが書きました:
3ヶ月前
i++ は単項演算子
i++ は単項演算子ではありません。
識別子(変数?)と単項演算子を組み合わせた式です。
オフトピック
よく読んでいなかったため、最初の投稿の段階で気付くことができませんでした。
申し訳ありません。
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列2
返信数: 7
閲覧数: 346

Re: 配列2

オフトピック
問題の出力結果、よく見たら右揃えなんですね…
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列2
返信数: 7
閲覧数: 346

Re: 配列2

goukeiの要素数は十分小さくなりそうなので、
ヒープでもスタックでも静的変数の領域(.dataセクションか.bssセクション?)でも、
好きな場所に置けば良いと思います。

採点する先生の好みやこだわりなどによっては、
それに反する場所に置くと怒られたり不正解や減点になったりする可能性も考えられますが、
こちらではそこまではわかりません。

詳細検索ページへ移動する