エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります
コードを貼れる所
http://codepad.org/
https://ideone.com/
前スレ
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1556142878/
【初心者歓迎】C/C++室 Ver.106【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
2020/07/13(月) 13:51:48.09ID:WBkWHxcT
46デフォルトの名無しさん
2020/07/18(土) 13:38:50.50ID:uRU3MGLx 理解する能力と
使いこなす能力と
創造する能力は
全部別
使いこなす能力と
創造する能力は
全部別
47デフォルトの名無しさん
2020/07/18(土) 15:42:57.82ID:94poIsAY 理解力のことです
ごめんなさい
ごめんなさい
2020/07/18(土) 15:58:14.32ID:qVma+RcU
リセットはされない。
複数言語を学ぶときは並行にやって混乱するか順番にやって混乱するかのどちらか。
自分に向いた方を選べ。
複数言語を学ぶときは並行にやって混乱するか順番にやって混乱するかのどちらか。
自分に向いた方を選べ。
2020/07/18(土) 16:14:37.72ID:C0jdHcgs
ある程度やりこまなければある程度落ちるのは常識
ある程度やりこめばある程度上がるのも常識
ある程度やりこめばある程度上がるのも常識
2020/07/18(土) 17:22:27.13ID:Bt+NBO6d
>>45
リセットされたのではなく、自分が理解できていたと思い込んでいただけで実際の理解がその程度だったということに気づかされただけだと思うぞ。
リセットされたのではなく、自分が理解できていたと思い込んでいただけで実際の理解がその程度だったということに気づかされただけだと思うぞ。
51デフォルトの名無しさん
2020/07/18(土) 18:01:57.62ID:51enBbxV あるある
2020/07/18(土) 18:20:51.79ID:sJrDCvPM
fopenでccs=utf-8を指定して改行コードのCRLFをfputwsで書き込んだら
CRCRLFになったんですけど。バグですか?
CRCRLFになったんですけど。バグですか?
53デフォルトの名無しさん
2020/07/18(土) 18:38:01.13ID:yqiH8/gB appendで開いてたり
54蟻人間 ◆T6xkBnTXz7B0
2020/07/18(土) 18:39:23.19ID:5h3AvQ+O2020/07/18(土) 19:04:26.79ID:sJrDCvPM
何と!
2020/07/18(土) 19:10:12.51ID:tp8HW1uL
バイナリじゃなく、テキスト処理してる場合は、
各OS のAPI を使った時に、
Windows なら、CRLF になって、
Linux なら、LF になるのだろう
Ruby でもそう。
Windows にインストールしたものは、CRLF になって、
Linux にインストールしたものは、LF になる
各OS のAPI を使った時に、
Windows なら、CRLF になって、
Linux なら、LF になるのだろう
Ruby でもそう。
Windows にインストールしたものは、CRLF になって、
Linux にインストールしたものは、LF になる
2020/07/18(土) 19:19:47.61ID:zDePOjuW
LFがCRLFになるんじゃなくて\nがCRLFになっただけじゃないのか?
58蟻人間 ◆T6xkBnTXz7B0
2020/07/18(土) 19:26:44.67ID:NJ+LQ+vq \nがLFなんだよ。
2020/07/18(土) 19:38:21.74ID:zDePOjuW
\x0aを出力してみればはっきりする。
6056
2020/07/18(土) 19:57:14.80ID:tp8HW1uL Global New Line みたいな指定もある。
\n が、OS によって自動的に切り替わるもの
Windows なら、CRLF になって、
Linux なら、LF になる
\n が、OS によって自動的に切り替わるもの
Windows なら、CRLF になって、
Linux なら、LF になる
2020/07/19(日) 06:39:45.80ID:wsDBDsuq
\nはコンパイラが読み込んだ時点でLFに変換される
そうでないと、'\n'みたいな文字を読み込んだ時に
保存に2バイト必要になってしまう
そうでないと、'\n'みたいな文字を読み込んだ時に
保存に2バイト必要になってしまう
62デフォルトの名無しさん
2020/07/21(火) 11:50:35.81ID:IJfaFmgd C++のenumの仕様について質問させてください
enum Aとenum Bが定義されていた時、
void func(enum A);
void func(enum B);
のようにオーバーロードできるでしょうか。
enum Aとenum Bが定義されていた時、
void func(enum A);
void func(enum B);
のようにオーバーロードできるでしょうか。
63デフォルトの名無しさん
2020/07/21(火) 11:58:59.44ID:+OCbOnRh enum class
64蟻人間 ◆T6xkBnTXz7B0
2020/07/21(火) 17:34:57.28ID:w/y1zMfY >>62
https://twitter.com/katahiromz/status/1285493340574584832/photo/1
可能みたいだよ。
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/katahiromz/status/1285493340574584832/photo/1
可能みたいだよ。
https://twitter.com/5chan_nel (5ch newer account)
65デフォルトの名無しさん
2020/07/21(火) 23:37:14.31ID:4GG7eaxB main が無いって言われたω
https://ideone.com/9as1fP
https://ideone.com/9as1fP
2020/07/22(水) 00:40:20.02ID:JDoVEEwE
正確にはなんて言われた?
67デフォルトの名無しさん
2020/07/22(水) 01:34:47.06ID:JL2g1NmT68デフォルトの名無しさん
2020/07/31(金) 02:13:31.68ID:zHNUGG0v 最近C++勉強し始めて疑問に思ったので教えて下さい
std::vector<int>vec;
auto result = std::find(vec.begin(), vec.end(),3);
上記のようにvectorを宣言だけで初期化せずにfind関数内でbegin()、end()を使用しても例外が発生しません
これは範囲外の要素にアクセスしているわけじゃないという理解でよろしいでしょうか
std::vector<int>vec;
auto result = std::find(vec.begin(), vec.end(),3);
上記のようにvectorを宣言だけで初期化せずにfind関数内でbegin()、end()を使用しても例外が発生しません
これは範囲外の要素にアクセスしているわけじゃないという理解でよろしいでしょうか
2020/07/31(金) 02:35:13.36ID:E2vmFTLm
そうだね
というか最初はbegin=endだから、findで一度もループ処理が発生しないだけ
というか最初はbegin=endだから、findで一度もループ処理が発生しないだけ
2020/07/31(金) 08:38:17.94ID:UG/y1RVK
2020/07/31(金) 10:00:44.09ID:zHNUGG0v
72デフォルトの名無しさん
2020/07/31(金) 11:04:11.23ID:N0eufbNj #include <vector>
#include <algorithm>
#include <iostream>
int main() {
std::vector<int>vec;
vec.reserve(10);
auto result = std::find(vec.begin(), vec.end(),3);
std::vector<int>vec2;
vec2.resize(10);
auto result2 = std::find(vec2.begin(), vec2.end(),3);
return 0;
}
#include <algorithm>
#include <iostream>
int main() {
std::vector<int>vec;
vec.reserve(10);
auto result = std::find(vec.begin(), vec.end(),3);
std::vector<int>vec2;
vec2.resize(10);
auto result2 = std::find(vec2.begin(), vec2.end(),3);
return 0;
}
2020/08/04(火) 14:37:50.75ID:Rtr7oft5
boostっていうやつはもう下火なんですか?
74はちみつ餃子 ◆8X2XSCHEME
2020/08/04(火) 20:36:32.51ID:tYSlSmQK んなわけない
2020/08/04(火) 22:16:06.06ID:GxIT23CH
極力使わずに済ませたい
2020/08/05(水) 08:45:38.77ID:FS19WAoY
下火っていうか
調理場にあるラップのようなもので特に意識されることはないけど欠かすことのできないもの
でもラップを使った料理っていうとどうしてもお手軽感がぬぐえない
プロの調理師はこういうものはできるだけ人目につかないようにする
調理場にあるラップのようなもので特に意識されることはないけど欠かすことのできないもの
でもラップを使った料理っていうとどうしてもお手軽感がぬぐえない
プロの調理師はこういうものはできるだけ人目につかないようにする
2020/08/05(水) 12:41:11.56ID:2ArdD7yz
ラップは隠さんだろ
化調でどうよ
化調でどうよ
2020/08/06(木) 09:55:51.94ID:oJAb3tlF
聞き方が悪かった
boostは習熟したほうがいいですか?
boostは習熟したほうがいいですか?
2020/08/06(木) 10:17:16.18ID:5aD4OAJs
あなたのやりたいことに役立つのなら。
80デフォルトの名無しさん
2020/08/06(木) 11:01:09.05ID:6QU45l4b boostじゃなくても同じことが出来るものがあったら後者を選ぶな
なんでだろ自分でもわからんω
なんでだろ自分でもわからんω
81デフォルトの名無しさん
2020/08/06(木) 11:13:25.84ID:YI93igBY いまならasioなどのために使うのでは。
そしてネットワーキングTSが標準に入ると、また使わなくなる。
そういうサイクルがあるのでは。
そしてネットワーキングTSが標準に入ると、また使わなくなる。
そういうサイクルがあるのでは。
2020/08/07(金) 21:54:30.74ID:3kAM9W6f
>>42
win32api使うならTCHAR使いましょうよ
win32api使うならTCHAR使いましょうよ
2020/08/08(土) 02:45:50.43ID:sjyRGzAl
MBCS対応する気ないならTCHAR使う意味ないよ
MBCS_Support_Deprecated_In_MFCだし
MBCS_Support_Deprecated_In_MFCだし
2020/08/08(土) 07:16:16.82ID:f+HIJ1ud
WCHAR決め打ちで行くんならDrawTextWにしないと
85デフォルトの名無しさん
2020/08/08(土) 10:09:00.08ID:noFfmCPy2020/08/08(土) 11:52:52.81ID:xwl14JrI
じゃあ何使うか言え
2020/08/08(土) 12:49:23.95ID:jGasFcRb
ナウはQuattroかな
2020/08/08(土) 13:08:28.52ID:Lqpd9lsB
2020/08/08(土) 13:25:08.03ID:xwl14JrI
>>88
ありがとう
ありがとう
90デフォルトの名無しさん
2020/08/08(土) 15:09:16.42ID:OT1M6D8391デフォルトの名無しさん
2020/08/08(土) 15:39:24.58ID:pp0rnVLU92デフォルトの名無しさん
2020/08/08(土) 16:39:57.58ID:/RuHG5bH C++11の前はboostめっちゃ使ってました
93デフォルトの名無しさん
2020/08/08(土) 16:52:58.78ID:OT1M6D83 Debianがgcc8なのでfilesystemをboostのほう使うとか。
互換性が動機という場合もありますね。
互換性が動機という場合もありますね。
2020/08/08(土) 19:24:55.75ID:Sbg9T/ud
C++ の仕様に関する質問です。
OpenGL では、
typedef unsigned char GLboolean;
#define GL_FALSE 0
#define GL_TRUE 1
void glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized,
GLsizei stride, const void *pointer);
となっていますが、
glVertexAttribPointer(locAttr, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)0);
と書いた場合、第四引数の GL_FALSE は 0 なので、int 型の整数リテラル(32BIT)ですが、対応する仮引数は、
GLboolean 型(8BIT)となっています。
overload resolution で、best matching アルゴリズムで最適な関数を探す際、対象の関数のプロトタイプ宣言の仮引数の型と
実引数の型を比較して、1つでも型が不適格のものが見つかった場合、「viable function」ではないとみなされ、候補から除外されます。
例として、unsigned char 型の仮引数に、int 型の変数を渡そうとすれば、不適格に成り、その関数は対象から除外されます。
しかし、この場合の様に、0 や 1 という整定値ならどうなるでしょうか。つまり、
unsigend char 型の仮引数に int 型の整数であるところの 0 という整数リテラルが、「適合」するというのは、
正しい仕様でしょうか?
OpenGL では、
typedef unsigned char GLboolean;
#define GL_FALSE 0
#define GL_TRUE 1
void glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized,
GLsizei stride, const void *pointer);
となっていますが、
glVertexAttribPointer(locAttr, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)0);
と書いた場合、第四引数の GL_FALSE は 0 なので、int 型の整数リテラル(32BIT)ですが、対応する仮引数は、
GLboolean 型(8BIT)となっています。
overload resolution で、best matching アルゴリズムで最適な関数を探す際、対象の関数のプロトタイプ宣言の仮引数の型と
実引数の型を比較して、1つでも型が不適格のものが見つかった場合、「viable function」ではないとみなされ、候補から除外されます。
例として、unsigned char 型の仮引数に、int 型の変数を渡そうとすれば、不適格に成り、その関数は対象から除外されます。
しかし、この場合の様に、0 や 1 という整定値ならどうなるでしょうか。つまり、
unsigend char 型の仮引数に int 型の整数であるところの 0 という整数リテラルが、「適合」するというのは、
正しい仕様でしょうか?
2020/08/08(土) 20:40:58.31ID:jGasFcRb
その関数はCの関数なので、そもそもマンぐり返されてないし、より適合するオーバーロード関数の存在なんて考慮してないんじゃね?
2020/08/08(土) 21:31:49.81ID:Sl6pvmJG
2020/08/09(日) 00:18:25.48ID:5wTPapRC
>>96
確認しました。charの仮引数の場所に、int 変数を実引数にして渡しても、
エラーも警告も出ませんでした。
関数呼び出しだけでなく、
int i = 0x123456;
char c = i;
としてもエラーも警告も出ませんでした。
テストは、VS2019のC++で行いました。
確認しました。charの仮引数の場所に、int 変数を実引数にして渡しても、
エラーも警告も出ませんでした。
関数呼び出しだけでなく、
int i = 0x123456;
char c = i;
としてもエラーも警告も出ませんでした。
テストは、VS2019のC++で行いました。
98はちみつ餃子 ◆8X2XSCHEME
2020/08/09(日) 00:32:08.26ID:ayHdPpdd 整数型同士はどの組み合わせでも暗黙の型変換はされるんじゃね。
変換後の型が符号付きかつ、変換後の型が表現できる範囲に収まらない値だったときの挙動が未定義ではあるので、
狭い方向への変換のときに警告くらいは出してくれることもあるみたいだが、
オーバーロードの解決の際に排除されることはない。
変換後の型が符号付きかつ、変換後の型が表現できる範囲に収まらない値だったときの挙動が未定義ではあるので、
狭い方向への変換のときに警告くらいは出してくれることもあるみたいだが、
オーバーロードの解決の際に排除されることはない。
2020/08/09(日) 12:09:42.16ID:5wTPapRC
>>98
ついでに、お聞きしたいのですが、
class CBase {・・・};
class CDerived : public CBase {・・・};
の場合、
CDerive* ---> CBase*
への変換は標準変換は有りますが、
CBase* ---> CDerive*
への変換は標準変換は有りませんよね。
しかし、
CBase *pBase;
に対して、
(CDerived*)pBase
というcastは、down castであり、気をつけなければならないキャストではありますが、組み込みのcastとして、
どのコンパイラでもサポートしています。
(この場合、型の解釈の変更だけでなく、マシン語レベルでの生の値も、offset分だけ変更になることがあるのは
周知の通りです。)
ということは、標準変換ではないにも関わらず、キャストではなぜかサポートしていると言うことになるのでしょうか?
ついでに、お聞きしたいのですが、
class CBase {・・・};
class CDerived : public CBase {・・・};
の場合、
CDerive* ---> CBase*
への変換は標準変換は有りますが、
CBase* ---> CDerive*
への変換は標準変換は有りませんよね。
しかし、
CBase *pBase;
に対して、
(CDerived*)pBase
というcastは、down castであり、気をつけなければならないキャストではありますが、組み込みのcastとして、
どのコンパイラでもサポートしています。
(この場合、型の解釈の変更だけでなく、マシン語レベルでの生の値も、offset分だけ変更になることがあるのは
周知の通りです。)
ということは、標準変換ではないにも関わらず、キャストではなぜかサポートしていると言うことになるのでしょうか?
100デフォルトの名無しさん
2020/08/09(日) 12:11:08.88ID:q7SdW+2C >>97
viable function とか言うから規格上の確認がしたいのかと思ってたけど、そこは実験でいいのか。
viable function とか言うから規格上の確認がしたいのかと思ってたけど、そこは実験でいいのか。
101デフォルトの名無しさん
2020/08/09(日) 12:17:12.21ID:q7SdW+2C >>99
まずキャストが「標準変換」しか「サポート」しないというその前提はどこから出てきたのか示すのが先でしょ。
https://timsong-cpp.github.io/cppwp/n4861/expr.cast
まずキャストが「標準変換」しか「サポート」しないというその前提はどこから出てきたのか示すのが先でしょ。
https://timsong-cpp.github.io/cppwp/n4861/expr.cast
102デフォルトの名無しさん
2020/08/09(日) 12:26:51.20ID:5wTPapRC103デフォルトの名無しさん
2020/08/09(日) 12:29:59.88ID:5wTPapRC >>102
最後、何が言いたいかと言うと、
『「組み込みの変換」には、「標準変換」には含まれていない変換も含まれている。』
ということです。
CBase*--->CDerived*
は、「標準変換」には含まれていませんが、「組み込みの変換」には含まれているということです。
また、それとは別に、int--->charは、危険を招くことがあるにも関わらず、「標準変換」
に含まれてしまっていると言うことです。
最後、何が言いたいかと言うと、
『「組み込みの変換」には、「標準変換」には含まれていない変換も含まれている。』
ということです。
CBase*--->CDerived*
は、「標準変換」には含まれていませんが、「組み込みの変換」には含まれているということです。
また、それとは別に、int--->charは、危険を招くことがあるにも関わらず、「標準変換」
に含まれてしまっていると言うことです。
104デフォルトの名無しさん
2020/08/09(日) 13:40:09.55ID:3E+EuOxc CBase* は CDerived* から変換したものかもしれないから変換可能なのが自然だろう。アップキャストとは違って暗黙にはされないし。
C式のキャストはチェックは継承関係をチェックしないがC++のキャストはするしな。
C式のキャストはチェックは継承関係をチェックしないがC++のキャストはするしな。
105デフォルトの名無しさん
2020/08/09(日) 15:59:54.85ID:EBrjBl58 char と int は cast されてる訳じゃないからな
106デフォルトの名無しさん
2020/08/09(日) 18:28:19.40ID:5wTPapRC みなさま、色々と有難うございました。
今回はこれで質問を閉じたいと思います。
今回はこれで質問を閉じたいと思います。
107デフォルトの名無しさん
2020/08/11(火) 07:34:37.14ID:DHq4+2OG マンぐり返しってなんですか?
108デフォルトの名無しさん
2020/08/11(火) 14:53:04.07ID:RaTUar/r109デフォルトの名無しさん
2020/08/13(木) 15:42:03.16ID:Tr7DEHMo 初心者なんですけど、tupleって使ってますか?
110デフォルトの名無しさん
2020/08/13(木) 15:49:39.88ID:hDTlT7Ky tuple も tie も便利よ
111デフォルトの名無しさん
2020/08/13(木) 18:45:13.00ID:Mkk4UD94 tupleは型リストとして良く使うな
112デフォルトの名無しさん
2020/08/15(土) 00:15:34.53ID:VOQ0TGNs 回答ありがとうございます
使って人いて安心しました
使って人いて安心しました
113デフォルトの名無しさん
2020/08/15(土) 01:10:43.51ID:cZ2se/D1 自分は構造体で間に合ってるからまだタプルの恩恵に与ったことない
114デフォルトの名無しさん
2020/08/15(土) 19:36:08.85ID:YDp7CJXQ 超ド素人の質問ですみません。
https://stackoverflow.com/questions/18647965/createprocess-problems-when-using-proc-thread-attribute-preferred-node-or-proc-t
このURLのサンプルコードをコンパイルすると、以下のエラーが発生します。
引数の型がおかしいんでしょうか?
何が悪いのか?どう修正したら良いかわかりません。教えて下さい。
[bcc32c エラー] File1.cpp(37): no matching function for call to 'InitializeProcThreadAttributeList'
processthreadsapi.h(650): candidate function not viable: no known conversion from 'std::size_t *' (aka 'unsigned int *') to 'PSIZE_T' (aka 'unsigned long *') for 4th argument
このURLの中の質問者の現象の再現をしたいのです。
https://stackoverflow.com/questions/18647965/createprocess-problems-when-using-proc-thread-attribute-preferred-node-or-proc-t
このURLのサンプルコードをコンパイルすると、以下のエラーが発生します。
引数の型がおかしいんでしょうか?
何が悪いのか?どう修正したら良いかわかりません。教えて下さい。
[bcc32c エラー] File1.cpp(37): no matching function for call to 'InitializeProcThreadAttributeList'
processthreadsapi.h(650): candidate function not viable: no known conversion from 'std::size_t *' (aka 'unsigned int *') to 'PSIZE_T' (aka 'unsigned long *') for 4th argument
このURLの中の質問者の現象の再現をしたいのです。
115デフォルトの名無しさん
2020/08/15(土) 19:50:05.09ID:5gsdnDz9 読んだままだろ
cbの型が合っていないといっているからcbの型をSIZE_Tにすりゃ良いんでないかい
cbの型が合っていないといっているからcbの型をSIZE_Tにすりゃ良いんでないかい
116デフォルトの名無しさん
2020/08/15(土) 20:10:51.19ID:YDp7CJXQ ほうほう。で、どうやって?
言っとくが私はC言語をポインタで挫折した男だ!!
言っとくが私はC言語をポインタで挫折した男だ!!
117デフォルトの名無しさん
2020/08/15(土) 20:16:57.66ID:MrJ6yMOt PSIZE_Tとやらじゃね
main関数の中の
size_t cb;
これを
PSIZE_T cb;
にするだけ?
main関数の中の
size_t cb;
これを
PSIZE_T cb;
にするだけ?
118デフォルトの名無しさん
2020/08/15(土) 20:21:07.23ID:YDp7CJXQ >>117
ありがとう。
でもエラーが以下に変わっただけでした。
processthreadsapi.h(650): candidate function not viable: no known conversion from 'PSIZE_T *' (aka 'unsigned long *') to 'PSIZE_T' (aka 'unsigned long *') for 4th argument
ありがとう。
でもエラーが以下に変わっただけでした。
processthreadsapi.h(650): candidate function not viable: no known conversion from 'PSIZE_T *' (aka 'unsigned long *') to 'PSIZE_T' (aka 'unsigned long *') for 4th argument
119デフォルトの名無しさん
2020/08/15(土) 20:25:40.50ID:YDp7CJXQ あ、PSIZE_Tじゃなくて、SIZE_Tにしたら行けました!!
大文字小文字の間違いだったってことですか?
とにかくありがとうございました!!
大文字小文字の間違いだったってことですか?
とにかくありがとうございました!!
120デフォルトの名無しさん
2020/08/29(土) 01:18:06.72ID:2rJgngxa 変数やら関数にtemplate指定するのに一々上に記述するのが面倒なんですが、スコープ内で一括指定するみたいな記法ってありますか?
121デフォルトの名無しさん
2020/08/29(土) 01:27:39.26ID:ayWkdCf9 typedef HogeT<Fuga> Piyo;
とかこういうこと?
とかこういうこと?
122はちみつ餃子 ◆8X2XSCHEME
2020/08/29(土) 01:35:50.74ID:2JVy7qNC typedef でも害はないけどusing を使うのがモダンな方法やぞ。
C と共用するヘッダファイル (または C++11 未満の規格に従わざるを得ない場合) を除いては typedef を使う理由はもう無い。
C と共用するヘッダファイル (または C++11 未満の規格に従わざるを得ない場合) を除いては typedef を使う理由はもう無い。
123デフォルトの名無しさん
2020/08/29(土) 01:45:55.49ID:2rJgngxa template<typename foo>
foo bar[256];
template<typename foo>
foo baz();
を仮に
template<typename foo>{
foo bar[256];
foo baz();
}
みたいな感じで
foo bar[256];
template<typename foo>
foo baz();
を仮に
template<typename foo>{
foo bar[256];
foo baz();
}
みたいな感じで
124デフォルトの名無しさん
2020/08/29(土) 10:19:15.51ID:HmjSn9P9 foo bar[256], baz();
125デフォルトの名無しさん
2020/08/30(日) 16:59:19.60ID:6dVOYYO/ 列挙型を宣言した後に構造体型で列挙型の変数を作成、
列挙型の変数はキーボードから入力できないので、構造体型にキーボードから入力するための変数を作成、
その値によって列挙型の変数に代入、
動的にメモリを確保して列挙型を入力、後に出力
これが上手く動作しないです助けてください
列挙型の変数はキーボードから入力できないので、構造体型にキーボードから入力するための変数を作成、
その値によって列挙型の変数に代入、
動的にメモリを確保して列挙型を入力、後に出力
これが上手く動作しないです助けてください
126デフォルトの名無しさん
2020/08/30(日) 17:04:48.88ID:6Ogy6ZZb コード晒せよ
127デフォルトの名無しさん
2020/08/30(日) 17:18:07.67ID:6dVOYYO/ #include<iostream>
using namespace std;
enum Type{Tec, Des, NA};
struct Human{
Type type;
char ans;
};
int n; char* pA;
void dataInput(Type& tp){
for(int i=0;i<n;i++){
cin>>tp.ans;
pA[i]=tp.ans;}
}
void showData(Type& tp);
int main(){
cin>>n;
pA=new char[n];
Type tp;
dataInput(tp);
showData(tp);
return 0;}
void showData(Type& tp){
for(int j=0;j<n;j++){
cout << pA[j] << "\n";}
}
using namespace std;
enum Type{Tec, Des, NA};
struct Human{
Type type;
char ans;
};
int n; char* pA;
void dataInput(Type& tp){
for(int i=0;i<n;i++){
cin>>tp.ans;
pA[i]=tp.ans;}
}
void showData(Type& tp);
int main(){
cin>>n;
pA=new char[n];
Type tp;
dataInput(tp);
showData(tp);
return 0;}
void showData(Type& tp){
for(int j=0;j<n;j++){
cout << pA[j] << "\n";}
}
128デフォルトの名無しさん
2020/08/30(日) 17:35:41.30ID:7nTpFOtc129デフォルトの名無しさん
2020/08/30(日) 17:52:49.59ID:sTqYAgvH 複数のLEDをリズミカルに光らせるプログラムを書いております。
現在は赤、青2色で色々遊んでおります。
'' __delay_ms(100);''
って感じの関数(用語?)を覚えまして、各パート毎に点灯時間、消灯時間を打ち込みました。
で、実行してみた所、1パートの青LEDが全て点滅し終わった後で2パートの赤LEDの
点滅に移る形になってしまいました。
赤、青LEDには各1個づつPICマイコンのピンを振ってありますので
スタティック制御ができるんだと思いますが、その制御(点滅)を同時に開始出来る
文(?)を教えて頂きたいと思います。
よろしくお願いします。
現在は赤、青2色で色々遊んでおります。
'' __delay_ms(100);''
って感じの関数(用語?)を覚えまして、各パート毎に点灯時間、消灯時間を打ち込みました。
で、実行してみた所、1パートの青LEDが全て点滅し終わった後で2パートの赤LEDの
点滅に移る形になってしまいました。
赤、青LEDには各1個づつPICマイコンのピンを振ってありますので
スタティック制御ができるんだと思いますが、その制御(点滅)を同時に開始出来る
文(?)を教えて頂きたいと思います。
よろしくお願いします。
130デフォルトの名無しさん
2020/08/30(日) 17:59:55.82ID:GgAZZaQa131デフォルトの名無しさん
2020/08/30(日) 18:03:01.59ID:GgAZZaQa >>129
PICの質問なら電気電子板の方が良いぞ
PICの質問なら電気電子板の方が良いぞ
132デフォルトの名無しさん
2020/08/30(日) 18:11:43.57ID:bozI2ZZf tp.ansで入力された値によって対応した識別子を出力させたいのですが、charでは1文字しか出力できないので手詰まりになってます。どなたかご助言頂けないでしょうか。
133デフォルトの名無しさん
2020/08/30(日) 18:26:31.79ID:zSKZhw1k >>132 これじゃダメ?
#include <iostream>
#include <string_view>
enum class Type{ Tec, Des, NA };
struct Human{ Type type; }
Type to_type(std::string_view s) noexcept {
if (s == "Tec") : return Type::Tec;
if (s == "Des") : return Type::Des;
// Expects(s == "NA");
return Type::NA;
}
std::string to_string(Type t) {
if (t == Type::Tec) return "Tec";
if (t == Type::Des) return "Des";
return "NA";
}
int main() {
int n; std::cin >> n; // サイズとか要らないので読み飛ばす
std::string str;
std::cin >> str;
auto data = to_type(str); // 列挙型にして保持
std::cout >> to_string(data) >> '\n'; // 文字列型にして出力
}
#include <iostream>
#include <string_view>
enum class Type{ Tec, Des, NA };
struct Human{ Type type; }
Type to_type(std::string_view s) noexcept {
if (s == "Tec") : return Type::Tec;
if (s == "Des") : return Type::Des;
// Expects(s == "NA");
return Type::NA;
}
std::string to_string(Type t) {
if (t == Type::Tec) return "Tec";
if (t == Type::Des) return "Des";
return "NA";
}
int main() {
int n; std::cin >> n; // サイズとか要らないので読み飛ばす
std::string str;
std::cin >> str;
auto data = to_type(str); // 列挙型にして保持
std::cout >> to_string(data) >> '\n'; // 文字列型にして出力
}
134デフォルトの名無しさん
2020/08/30(日) 20:44:11.23ID:bozI2ZZf135デフォルトの名無しさん
2020/08/31(月) 10:54:44.11ID:pX0ZQbZW auto は甘え
136デフォルトの名無しさん
2020/09/03(木) 14:13:37.77ID:PYkyhK1l mainのスレッドをCPUハグなしに無限に一時停止しておく方法はありますか?
137デフォルトの名無しさん
2020/09/03(木) 14:26:19.18ID:DK3Ul6vK ハゲ
138デフォルトの名無しさん
2020/09/04(金) 12:14:12.72ID:zd548qQ8 >>136
目いっぱいsleep_forしてループで回す
目いっぱいsleep_forしてループで回す
139デフォルトの名無しさん
2020/09/05(土) 12:38:00.42ID:wi57tP1l >>136
無限に実行されるサブスレッドの終了を待つ。
無限に実行されるサブスレッドの終了を待つ。
140デフォルトの名無しさん
2020/09/06(日) 09:31:49.54ID:2h7jeAag mainからWinMainを呼ぶことも可能
WinMainが動いてる間はmainは止まってるよ
強制的に一時停止させるならPauseキー
WinMainが動いてる間はmainは止まってるよ
強制的に一時停止させるならPauseキー
141デフォルトの名無しさん
2020/09/07(月) 16:47:36.61ID:I5P3h+Uu cmakelistsでメモリ関連の設定の仕方をご教授いただけないでしょうか。
142デフォルトの名無しさん
2020/09/08(火) 00:01:30.52ID:vx/b5nCh >>141
もっと具体的に
もっと具体的に
143デフォルトの名無しさん
2020/09/08(火) 03:22:53.47ID:jacy6RM2 マルチっぽい
144デフォルトの名無しさん
2020/09/10(木) 22:29:57.24ID:XqO8hjOE >>141
はい
はい
145デフォルトの名無しさん
2020/09/19(土) 19:53:45.14ID:k5fZduun linuxでvswprint()使ってみたんだが、事前に必要なバッファサイズがわからない場合の求め方がわからん。
1. vsnprintf() と同じように nullptr を渡してみた
⇒必要サイズじゃなくてエラーの-1が返ってきた
2. 仮のサイズで呼び出して領域不足のエラーなら増やす方針にした
⇒エラーが領域不足なのか他のエラーなのか見分けがつかない(errno=0のまま)
どうすりゃいいんだろう?
1. vsnprintf() と同じように nullptr を渡してみた
⇒必要サイズじゃなくてエラーの-1が返ってきた
2. 仮のサイズで呼び出して領域不足のエラーなら増やす方針にした
⇒エラーが領域不足なのか他のエラーなのか見分けがつかない(errno=0のまま)
どうすりゃいいんだろう?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【社会】40代以上のおじさん・おばさんは叩いてオッケーという風潮はなぜ加速したのか [七波羅探題★]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 農林水産省「春頃にはコメ価格落ち着くのでは」新米の取引価格、過去最高を更新。 [256556981]
