質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
char

charは文字データ型を指します。一文字分の文字コードの格納を想定としている型です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

2618閲覧

charを用いた文章が表示出来ない

jyarin

総合スコア12

char

charは文字データ型を指します。一文字分の文字コードの格納を想定としている型です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/03/27 13:48

C++

1/* ソース.cpp*/ 2#include <DxLib.h> 3#include "ヘッダー.h" 4 5int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 6 LPSTR lpCmdLine, int nCmdShow) 7{ 8 ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); //ウィンドウモード変更と初期化と裏画面設定 9 int siro = GetColor(255, 255, 255); 10 while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) {//メインループ 11 DrawFormatString(176, 392, siro, "%s", Kotoba(0, 0)); 12 } 13 DxLib_End(); 14 return 0; 15} 16 17/* ソース2.cpp*/ 18typedef struct { 19 char lastcode; 20 char pic; 21 char hito; 22 char kotoba[80]; 23} hanashi; 24 25hanashi kaiwa[40][45] = { 26 { 27 {0,0,0,"サラダ記念日"}, 28 } 29}; 30 31char Kotoba(int turn, int num) { 32 return kaiwa[turn][num].kotoba[80]; 33} 34 35/* ヘッダー.h*/ 36#pragma once 37char Kotoba(int turn, int num);

画面上に「サラダ記念日」という言葉を出したいのですが、真っ黒な画面しか表示されません。
おそらくcharの仕様が良く分かっていない事が原因だと思われますが、あまりよく分かっていません。
また、エラーこそ出ませんが、下の警告メッセージは出てきます。


警告 C6385 'kaiwa[turn][num].kotoba' から無効なデータを読み取っています: 読み取り可能なサイズは '80' バイトですが、'81' バイトを読み取る可能性があります。


何が原因なのか、詳しく教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

archiver

2020/03/27 13:56

charがっていうより、C言語がわかってないよね。 やりたいことは「サラダ記念日」と出力させることでいいんだよね? 正直、「何見てこうなった?」ってくらい変なソースなんだけど。
guest

回答1

0

ベストアンサー

C

1char* Kotoba(int turn, int num) { 2 return kaiwa[turn][num].kotoba; 3}

とりあえず動かすならこれで。

投稿2020/03/27 14:37

y_waiwai

総合スコア88051

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問