エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります
コードを貼れる所
http://codepad.org/
https://ideone.com/
前スレ
【初心者歓迎】C/C++室 Ver.101【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1500329247/
探検
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/11/04(土) 16:33:35.07ID:NYxCuvMY114デフォルトの名無しさん
2017/11/28(火) 18:08:18.05ID:9QEYjjOS >>113
YES。
別プロセスからテキストを取りたい。
他の例えばIEやハンドルが取れる様なソフト内の文字ならgettextやcom操作で取ったりできるがSun系のソフトは同じ様にはいかず、メモリを読むのかどうすればいいのか、知識が足りなくて検索も上手に出来ず...頭打ち状態。
何か足掛かりになる物を教えて頂きたい。
YES。
別プロセスからテキストを取りたい。
他の例えばIEやハンドルが取れる様なソフト内の文字ならgettextやcom操作で取ったりできるがSun系のソフトは同じ様にはいかず、メモリを読むのかどうすればいいのか、知識が足りなくて検索も上手に出来ず...頭打ち状態。
何か足掛かりになる物を教えて頂きたい。
115デフォルトの名無しさん
2017/11/29(水) 00:32:03.31ID:/GAULuFW116デフォルトの名無しさん
2017/11/29(水) 13:08:28.50ID:GlJ85cMo #include<stio.h>
int main(){
int i,num[5];
for(i=0;i<5;i++){
printf("***\n");
scanf("%*c%d"&num[i]);
}
}
実行し、num[]に、10、20,30,40,50と入力すると
num[0]の値は0、num[1]は20、その後50まで代入されてます
num[0]に10が代入されないのは何故なのでしょうか?
int main(){
int i,num[5];
for(i=0;i<5;i++){
printf("***\n");
scanf("%*c%d"&num[i]);
}
}
実行し、num[]に、10、20,30,40,50と入力すると
num[0]の値は0、num[1]は20、その後50まで代入されてます
num[0]に10が代入されないのは何故なのでしょうか?
117デフォルトの名無しさん
2017/11/29(水) 13:26:13.79ID:NrhyqkWd >>116
"%*c"のせいじゃね
"%*c"のせいじゃね
118デフォルトの名無しさん
2017/11/29(水) 13:36:20.41ID:GlJ85cMo >>117
そうでした。ありがとうございました。
そうでした。ありがとうございました。
119デフォルトの名無しさん
2017/11/30(木) 14:49:53.66ID:t+LxFq0J テフ?
120デフォルトの名無しさん
2017/12/01(金) 03:20:07.32ID:VClmrWfc boost::qiでマルチバイト文字を扱うにはどうすればいいんですかね
121デフォルトの名無しさん
2017/12/01(金) 12:48:46.21ID:UzEJxhfp 5人の生徒に3教科のテストをし、その点数を入力する
入力後、
テストA テストB テストC
0点〜19点 0人 0人 0人
20点〜39点 0人 0人 0人
40点〜59点 2人 0人 1人
・・・
80点〜100点 1人 3人 2人
と集計する方法に悩んでいます。
どういう考え方が考えられますか?
入力後、
テストA テストB テストC
0点〜19点 0人 0人 0人
20点〜39点 0人 0人 0人
40点〜59点 2人 0人 1人
・・・
80点〜100点 1人 3人 2人
と集計する方法に悩んでいます。
どういう考え方が考えられますか?
122デフォルトの名無しさん
2017/12/01(金) 13:06:08.20ID:p7Y4uOcI >>120
char_に替わるパーサー書けばいいんじゃないかね
マルチバイトの最初の文字を認識する自作パーサーをmb1、マルチバイト文字のパーサーをmbcharとして
mbchar = (mb1 >> char_) || char_;
とか?
char_に替わるパーサー書けばいいんじゃないかね
マルチバイトの最初の文字を認識する自作パーサーをmb1、マルチバイト文字のパーサーをmbcharとして
mbchar = (mb1 >> char_) || char_;
とか?
123デフォルトの名無しさん
2017/12/01(金) 13:14:35.24ID:LYbXDWPH >>121
宿題は自分で考えるのが原則。どこまで考えた?
宿題は自分で考えるのが原則。どこまで考えた?
124デフォルトの名無しさん
2017/12/01(金) 13:21:20.74ID:UzEJxhfp >>123
ありがとうございます。
入力された点数を3次元配列に格納するところまでです。
今は、繰り返し分を使い、配列に格納された数字が0でなかったら
その数字をカウントして人数を集計しようとしてるのですが、できていません
ありがとうございます。
入力された点数を3次元配列に格納するところまでです。
今は、繰り返し分を使い、配列に格納された数字が0でなかったら
その数字をカウントして人数を集計しようとしてるのですが、できていません
125デフォルトの名無しさん
2017/12/01(金) 13:56:35.70ID:LYbXDWPH >>124
なぜ3次元?生徒と教科がインデックスだから2次元では?
あと、表示さえすればいいだけなら、
効率度外視である教科のある得点範囲の人数をカウントするくらいできるでしょ。
効率考えるなら表示用に0で初期化した2次元配列を別に用意する。
なぜ3次元?生徒と教科がインデックスだから2次元では?
あと、表示さえすればいいだけなら、
効率度外視である教科のある得点範囲の人数をカウントするくらいできるでしょ。
効率考えるなら表示用に0で初期化した2次元配列を別に用意する。
126デフォルトの名無しさん
2017/12/01(金) 14:01:47.55ID:UzEJxhfp127デフォルトの名無しさん
2017/12/02(土) 00:04:56.97ID:F3lbt2G4 中古本でプログラミング言語c++の3版が4000円で4版が6000円なんだが
やっぱり4版を買ったほうがいいのかな
やっぱり4版を買ったほうがいいのかな
128デフォルトの名無しさん
2017/12/02(土) 00:18:15.85ID:4X8AnX6A あんまり良い本じゃないから買わなくていい
129デフォルトの名無しさん
2017/12/02(土) 00:54:45.18ID:F3lbt2G4130デフォルトの名無しさん
2017/12/02(土) 09:08:29.93ID:XeWd0teH >>125
昨日はありがとうございました
90行程度と長いプログラムになりましたが
人数をカウントし表示させることができました
カウントは、教科毎にfor文で呼び出し
20以下、20〜39、・・・80〜99、100とif文で条件指定し
各範囲で人数をカウントし、最後に表示させました
また分からないことがありましたらご指導お願いいたします。
昨日はありがとうございました
90行程度と長いプログラムになりましたが
人数をカウントし表示させることができました
カウントは、教科毎にfor文で呼び出し
20以下、20〜39、・・・80〜99、100とif文で条件指定し
各範囲で人数をカウントし、最後に表示させました
また分からないことがありましたらご指導お願いいたします。
131デフォルトの名無しさん
2017/12/02(土) 14:58:42.41ID:XeWd0teH ファイルを開いた回数を記録するというプログラムを作っています
int main(){
int count;
FILE *fp;
if((fp=fopen("log.txt","r"))==NULL){
count=0;
}else{
fscanf(fp,"log.txt",&count);
fclose(fp);
}
if((fp=fopen("log.txt","w"))==NULL){
printf("Error\n");
return -1;
}
count++;
printf("%d回目のプログラムを実行です\n",count);
fprintf(fp,"%d\n",count);
fclose(fp);
}
これを実行するたびに
2752513回目の・・・
3444737回目の・・・
2953217回目の・・・
となってしまい、ファイルを開いた数が記録されません
最初にlog.txtがない状態で実行したときの、一番最初だけ、countに1が代入され
log.txtにも1が記載されるのですが、2回目以降のcountには7桁の乱数みたいのが代入され記載されてしまいます
どうして不具合が出るのか分からなくなっております。よろしくご教授くださいませ
int main(){
int count;
FILE *fp;
if((fp=fopen("log.txt","r"))==NULL){
count=0;
}else{
fscanf(fp,"log.txt",&count);
fclose(fp);
}
if((fp=fopen("log.txt","w"))==NULL){
printf("Error\n");
return -1;
}
count++;
printf("%d回目のプログラムを実行です\n",count);
fprintf(fp,"%d\n",count);
fclose(fp);
}
これを実行するたびに
2752513回目の・・・
3444737回目の・・・
2953217回目の・・・
となってしまい、ファイルを開いた数が記録されません
最初にlog.txtがない状態で実行したときの、一番最初だけ、countに1が代入され
log.txtにも1が記載されるのですが、2回目以降のcountには7桁の乱数みたいのが代入され記載されてしまいます
どうして不具合が出るのか分からなくなっております。よろしくご教授くださいませ
132デフォルトの名無しさん
2017/12/02(土) 15:12:26.31ID:jpnrbmV1 fscanfで書式の指定ミス
133デフォルトの名無しさん
2017/12/02(土) 15:16:24.33ID:XeWd0teH134デフォルトの名無しさん
2017/12/02(土) 15:18:37.18ID:Jd1ioDh8135デフォルトの名無しさん
2017/12/02(土) 15:35:47.69ID:XeWd0teH136デフォルトの名無しさん
2017/12/02(土) 18:53:18.55ID:K6qIkKEG 超初心者です
c言語でGetPixelが動きません
どうすれば直るのか教えてください
COLORREF GetPixel (float 変数x, float 変数y); //指定座標の色取得。
if float GetPixel(float 変数x, float 変数y == RGBCOLOR( 0, 0,255)) ; //指定座標のピクセルが青色ならコード実行
//以下、実行するコード
c言語でGetPixelが動きません
どうすれば直るのか教えてください
COLORREF GetPixel (float 変数x, float 変数y); //指定座標の色取得。
if float GetPixel(float 変数x, float 変数y == RGBCOLOR( 0, 0,255)) ; //指定座標のピクセルが青色ならコード実行
//以下、実行するコード
137デフォルトの名無しさん
2017/12/02(土) 19:09:54.54ID:4pmjT1Fk >>136
>if float GetPixel(float 変数x, float 変数y == RGBCOLOR( 0, 0,255)) ; //指定座標のピクセルが青色ならコード実行
if (GetPixel(x, y) == RGBCOLOR( 0, 0,255)) {
条件が真のとき実行するコード
}
ではどうですか?
>if float GetPixel(float 変数x, float 変数y == RGBCOLOR( 0, 0,255)) ; //指定座標のピクセルが青色ならコード実行
if (GetPixel(x, y) == RGBCOLOR( 0, 0,255)) {
条件が真のとき実行するコード
}
ではどうですか?
138デフォルトの名無しさん
2017/12/04(月) 17:32:02.17ID:K3o+GgF3 boost::qiって読み方ブースト・チーでいいの?
139デフォルトの名無しさん
2017/12/04(月) 18:32:18.36ID:m/Ygi57i boostのパーサの使い方わかんね
140デフォルトの名無しさん
2017/12/04(月) 21:33:58.20ID:K2rBoL+r >>138
氣
氣
141デフォルトの名無しさん
2017/12/05(火) 04:28:16.53ID:NJ16QKFF 組み込みの場合例えばRs232Cのチャンネルが三つあるようなばあいにクラスに
するとIOの初期化がそれぞれ違う。しかもチャンネル1を初期化するとチャンネル3
にも影響する場合がある。こういう場合にはどんな風にクラスをつくったらいい?
するとIOの初期化がそれぞれ違う。しかもチャンネル1を初期化するとチャンネル3
にも影響する場合がある。こういう場合にはどんな風にクラスをつくったらいい?
142デフォルトの名無しさん
2017/12/05(火) 10:59:54.97ID:BooJAJ3p よろしくお願いします。
fp=fopen("out.txt","r");
while(fscanf(fp,"%d",&da2[i])!=EOF){
fscanf(fp,"%d",&da2[i]);
i++;
}
fclose(fp);
これを実行するとテキストファイルに記録されている整数を
一行飛ばしで読みだしてしまいます
どうして飛ばされる行ができてしまうのでしょうか?
fp=fopen("out.txt","r");
while(fscanf(fp,"%d",&da2[i])!=EOF){
fscanf(fp,"%d",&da2[i]);
i++;
}
fclose(fp);
これを実行するとテキストファイルに記録されている整数を
一行飛ばしで読みだしてしまいます
どうして飛ばされる行ができてしまうのでしょうか?
143デフォルトの名無しさん
2017/12/05(火) 11:22:39.33ID:tMsGMSrl >>141
friend
friend
>>142
fscanf() を二箇所に書いているけれども、それでいいのですか?
fscanf() を二箇所に書いているけれども、それでいいのですか?
145デフォルトの名無しさん
2017/12/05(火) 11:54:34.95ID:GUcDlKUg >>142
whileでのfscanfのあとでiを変更してないから次のfscanfで同じda2[i]に上書きしてる
whileでのfscanfのあとでiを変更してないから次のfscanfで同じda2[i]に上書きしてる
146デフォルトの名無しさん
2017/12/05(火) 12:02:08.68ID:BooJAJ3p147デフォルトの名無しさん
2017/12/05(火) 15:40:18.03ID:BooJAJ3p 再びよろしくお願いいたします。
int main(){
char ch1,ch2;
printf("二文字入力\n");
scanf("%c",&ch1);
scanf("%c",&ch2);
printf("ch1=[%c]\nch2=[%c]\n",ch1,ch2);
return 0;
}
これを実行すると、2回目のscanfを飛び越えてしまいます。
その理由と回避方法をご指南いただけませんでしょうか?
よろしくお願いいたします。
int main(){
char ch1,ch2;
printf("二文字入力\n");
scanf("%c",&ch1);
scanf("%c",&ch2);
printf("ch1=[%c]\nch2=[%c]\n",ch1,ch2);
return 0;
}
これを実行すると、2回目のscanfを飛び越えてしまいます。
その理由と回避方法をご指南いただけませんでしょうか?
よろしくお願いいたします。
148片山博文MZ ◆T6xkBnTXz7B0
2017/12/05(火) 15:46:59.33ID:KBxdaLdg 再びよろしくお願いいたします。
int main(){
char buf[3], ch1,ch2;
printf("二文字入力\n");
fgets(buf, 3, stdin);
ch1 = buf[0];
ch2 = buf[1];
printf("ch1=[%c]\nch2=[%c]\n",ch1,ch2);
return 0;
}
int main(){
char buf[3], ch1,ch2;
printf("二文字入力\n");
fgets(buf, 3, stdin);
ch1 = buf[0];
ch2 = buf[1];
printf("ch1=[%c]\nch2=[%c]\n",ch1,ch2);
return 0;
}
149デフォルトの名無しさん
2017/12/05(火) 16:20:49.08ID:BooJAJ3p150デフォルトの名無しさん
2017/12/05(火) 16:50:17.51ID:VZfNuCLu151デフォルトの名無しさん
2017/12/05(火) 16:59:28.01ID:BooJAJ3p >>150
ありがとうございます
しっかり理解できるには時間がかかりますが
とりあえず、お礼申し上げます
改行文字を処理しないと次のscanfが改行文字を読んでしまうのですね
とても勉強になりますし、皆様のおかげで前進できます
ありがとうございます
ありがとうございます
しっかり理解できるには時間がかかりますが
とりあえず、お礼申し上げます
改行文字を処理しないと次のscanfが改行文字を読んでしまうのですね
とても勉強になりますし、皆様のおかげで前進できます
ありがとうございます
152デフォルトの名無しさん
2017/12/07(木) 00:17:29.58ID:fcKh4od9 皆すげーな
俺みたいなライブラリのインクルードが通せなくて
そもそもコンパイルって何だっけってところから調べるような奴には恐れ多いわ
俺みたいなライブラリのインクルードが通せなくて
そもそもコンパイルって何だっけってところから調べるような奴には恐れ多いわ
153デフォルトの名無しさん
2017/12/07(木) 12:53:50.82ID:4zvLzkC0 毎日すみません。ご教授お願いします。
out,txtに記録されている下記文字に対して
---------------
AAA BB
ababb
099
---------------
ファイルを開いて、文字列を読み出し
配列で一文字一文字を表示させようとしています
i=0;
fp=fopen("out.txt","r");
while(fscanf(fp,"%c",&c)!=EOF){
i++;
}
for(t=0;t<=i;t++){
printf("%c\n",c[t]);
}
これだと18行表示されますが
表示されたのは全く異なるものでした
どこが不適切なのか2日考えても分かりません
いつも申し訳ありません><よろしくご指導願います
out,txtに記録されている下記文字に対して
---------------
AAA BB
ababb
099
---------------
ファイルを開いて、文字列を読み出し
配列で一文字一文字を表示させようとしています
i=0;
fp=fopen("out.txt","r");
while(fscanf(fp,"%c",&c)!=EOF){
i++;
}
for(t=0;t<=i;t++){
printf("%c\n",c[t]);
}
これだと18行表示されますが
表示されたのは全く異なるものでした
どこが不適切なのか2日考えても分かりません
いつも申し訳ありません><よろしくご指導願います
154デフォルトの名無しさん
2017/12/07(木) 13:10:52.74ID:dicAL8ON >>153
c は大きさの十分ある char への配列と想定した前提で
fscanf の引数がおかしい
1文字毎に配列へ順繰りに読み込ますのなら
fscanf(fp,"%c", &c[i]);
こうなってないと
c は大きさの十分ある char への配列と想定した前提で
fscanf の引数がおかしい
1文字毎に配列へ順繰りに読み込ますのなら
fscanf(fp,"%c", &c[i]);
こうなってないと
155デフォルトの名無しさん
2017/12/07(木) 13:39:27.89ID:4zvLzkC0 >>154
&が抜けていたのは恥ずかしいです
申し訳ありませんでした
しっかり覚えさせていただきます
プログラムもちゃんと動きました
いつも簡単なことばかりなのに理解が浅くてすみません
とても勉強になりました。ありがとうございました
&が抜けていたのは恥ずかしいです
申し訳ありませんでした
しっかり覚えさせていただきます
プログラムもちゃんと動きました
いつも簡単なことばかりなのに理解が浅くてすみません
とても勉強になりました。ありがとうございました
156デフォルトの名無しさん
2017/12/07(木) 16:08:02.33ID:dicAL8ON 書いてあることが違うけど(&が抜けていたのではなく [i] がない)
本当に分かっているのか不安になる返答だが、そのうち慣れてくるだろう。
(文字と文字列の違いと (f)scanf に渡すフォーマットの指示と 変数をどう渡すか
の一連が整理されてないと、また繰り返すだろう)
本当に分かっているのか不安になる返答だが、そのうち慣れてくるだろう。
(文字と文字列の違いと (f)scanf に渡すフォーマットの指示と 変数をどう渡すか
の一連が整理されてないと、また繰り返すだろう)
157デフォルトの名無しさん
2017/12/07(木) 16:29:02.63ID:4zvLzkC0 >>156
はい、ありがとうございます。
配列にして直してあります。
fscanf(fp,"%s",c)として読み込んだ後に
c[i]で一文字一文字表示させられると思い込んでいました
先ほどの156のおかげでfscanf(**** &c[i])を覚えられました
ありがとうございます!感謝してます
はい、ありがとうございます。
配列にして直してあります。
fscanf(fp,"%s",c)として読み込んだ後に
c[i]で一文字一文字表示させられると思い込んでいました
先ほどの156のおかげでfscanf(**** &c[i])を覚えられました
ありがとうございます!感謝してます
158デフォルトの名無しさん
2017/12/08(金) 15:46:12.24ID:b0CgZ3o1 こんにちは。どうか本日もよろしくお願いいたします。
10人分の点数を入れて表示するプログラムです。
下記のように作成したのですが、main()内から関数を呼び出すところで
parameter names(without typesというエラーがでてしまいます。
どうかよろしくお願いします。
#include<stdio.h>
void da(int ten[10]){
int i;
for(i=0;i<10;i++){
printf("%d input ",i);scanf("%d",&ten[i]);
}
return;
}
void out(int ten[10]){
int i;
for(i=0;i<10;i++){
printf("%d人目 : %d点\n",i,ten[i]);
}
return;
}
int main(){
int ten[10];
void da(ten);
void out(ten);
return 0;
}
10人分の点数を入れて表示するプログラムです。
下記のように作成したのですが、main()内から関数を呼び出すところで
parameter names(without typesというエラーがでてしまいます。
どうかよろしくお願いします。
#include<stdio.h>
void da(int ten[10]){
int i;
for(i=0;i<10;i++){
printf("%d input ",i);scanf("%d",&ten[i]);
}
return;
}
void out(int ten[10]){
int i;
for(i=0;i<10;i++){
printf("%d人目 : %d点\n",i,ten[i]);
}
return;
}
int main(){
int ten[10];
void da(ten);
void out(ten);
return 0;
}
159片山博文MZ ◆T6xkBnTXz7B0
2017/12/08(金) 15:56:23.80ID:8LWGXCju >>158
#include <stdio.h>
void da(int ten[10]){
int i;
for(i = 0; i < 10; i++){
printf("%d input ", i); scanf("%d",&ten[i]);
}
}
void out(int ten[10]){
int i;
for(i = 0; i < 10; i++){
printf("%d人目 : %d点\n", i + 1, ten[i]);
}
}
int main(void) {
int ten[10];
da(ten);
out(ten);
return 0;
}
#include <stdio.h>
void da(int ten[10]){
int i;
for(i = 0; i < 10; i++){
printf("%d input ", i); scanf("%d",&ten[i]);
}
}
void out(int ten[10]){
int i;
for(i = 0; i < 10; i++){
printf("%d人目 : %d点\n", i + 1, ten[i]);
}
}
int main(void) {
int ten[10];
da(ten);
out(ten);
return 0;
}
160デフォルトの名無しさん
2017/12/08(金) 16:02:05.10ID:C0Y4l8FE そろそろうっとしいな
161デフォルトの名無しさん
2017/12/08(金) 16:06:39.52ID:b0CgZ3o1 すみません、ここは質問するところじゃなかったのですね
他のC言語のスレから誘導されたので、こちらで質問していいかと思ったのですが
今後質問は控えます。自力で学習を進めようと思います。
ご迷惑をおかけしてすみませんでした。
片山先生、本日もありがとうございました。感謝です。
他のC言語のスレから誘導されたので、こちらで質問していいかと思ったのですが
今後質問は控えます。自力で学習を進めようと思います。
ご迷惑をおかけしてすみませんでした。
片山先生、本日もありがとうございました。感謝です。
162デフォルトの名無しさん
2017/12/16(土) 05:14:03.17ID:Nra/Nglb #pragma pack(1)
struct {
char a;
short b;
int c;
} x;
Cでバイナリデータとかパディング除けに上のような感じに書いて読み書きしたりしますが(例は適当)、
C++ではpragmaを使用せず記述量も少ないスマートな記述方法はあるでしょうか?
struct {
char a;
short b;
int c;
} x;
Cでバイナリデータとかパディング除けに上のような感じに書いて読み書きしたりしますが(例は適当)、
C++ではpragmaを使用せず記述量も少ないスマートな記述方法はあるでしょうか?
163デフォルトの名無しさん
2017/12/16(土) 09:10:24.00ID:67ZudMHx ない
164デフォルトの名無しさん
2017/12/16(土) 09:52:53.87ID:Nra/Nglb ありがとうございます。やっぱりないですか。
pragmaがコンパイラ依存とか書かれてて非常に嫌なんですが慣れます。
pragmaがコンパイラ依存とか書かれてて非常に嫌なんですが慣れます。
165片山博文MZ ◆T6xkBnTXz7B0
2017/12/16(土) 16:18:44.15ID:2NfYNG63 #include <pshpack1.h>
...
#include <poppack.h>
...
#include <poppack.h>
166デフォルトの名無しさん
2017/12/17(日) 02:47:22.67ID:T7tjmkgj C/C++は言語自体は好きなんですが、GUIとかがプラットフォームに依存するみたいですが、そういった場合黙ってqt使うのが最善ですか?
167デフォルトの名無しさん
2017/12/18(月) 01:24:26.49ID:vrG0ZJDQ >>164
そのような構造体で直接読み書きしないのがベスト
そのような構造体で直接読み書きしないのがベスト
168デフォルトの名無しさん
2017/12/21(木) 16:50:57.91ID:FN6C0PcS ここが適切かわかりませんが、
make の Makefile を Visual Studio や NetBeans 等の IDE の
プロジェクトファイルに変換するツールはありませんか。
make の Makefile を Visual Studio や NetBeans 等の IDE の
プロジェクトファイルに変換するツールはありませんか。
169片山博文MZ ◆T6xkBnTXz7B0
2017/12/21(木) 16:54:33.43ID:fHSTQ7CK makeにはないが、似たようなものにCMakeというものがあって、CMakeならプロジェクトファイルを生成できる。
170168
2017/12/21(木) 17:10:02.95ID:FN6C0PcS >>169 そこまでは分ったのですが、
Makefile を CMakeLists.txt に変換するのはありますか?
見つけられたのは、nmake.exe 用の Makefile.mak を *.vsproj に変換する、
Python のスクリプトだけでした。。
Makefile を CMakeLists.txt に変換するのはありますか?
見つけられたのは、nmake.exe 用の Makefile.mak を *.vsproj に変換する、
Python のスクリプトだけでした。。
173デフォルトの名無しさん
2018/01/09(火) 19:29:59.07ID:cBwAL66C ライブラリ作成の指南書みたいな本ってありますか。
174デフォルトの名無しさん
2018/01/09(火) 22:23:30.03ID:9ubHCBZ8 環境によるんじゃ?
175デフォルトの名無しさん
2018/01/10(水) 01:19:44.15ID:CtX3Z92R とりあえず
c++のためのapiデザイン
でも読んでみるといいと思う
c++のためのapiデザイン
でも読んでみるといいと思う
176デフォルトの名無しさん
2018/01/10(水) 02:59:55.08ID:QjjLPcN0 読んでみるわ
177デフォルトの名無しさん
2018/01/13(土) 06:17:45.46ID:hj3TLdcf 定数以外の名前に「 _ 」を使うのって良くないって聞いたけどどうなの?
178デフォルトの名無しさん
2018/01/13(土) 09:08:14.97ID:P3TI7O0+ 趣味とか宗教とかの話であって、別に使って問題ない
ただ名前の先頭だったり、2回連続で使ったりすると
予約語に引っかかることがあるので注意(定数の場合も)
ただ名前の先頭だったり、2回連続で使ったりすると
予約語に引っかかることがあるので注意(定数の場合も)
179デフォルトの名無しさん
2018/01/13(土) 09:13:05.82ID:M+vRxjCB その辺有名ライブラリのルール付けとか調べてみるのもいいかもね
180デフォルトの名無しさん
2018/01/13(土) 09:23:55.53ID:M+vRxjCB GoogleがC++のスタイルガイド公開してる
これも参考になりそう
これも参考になりそう
181デフォルトの名無しさん
2018/01/16(火) 10:54:12.13 C++で何つくんの?
GUIプログラムならC#のほうが圧倒的に簡単だし
GUIプログラムならC#のほうが圧倒的に簡単だし
182デフォルトの名無しさん
2018/01/16(火) 11:06:50.90ID:E1MTmeKy CAD
183デフォルトの名無しさん
2018/01/16(火) 11:07:58.52 そんな上級者にしか用途がない言語か
184デフォルトの名無しさん
2018/01/16(火) 11:24:35.41ID:/aUGqjlJ 個人的にC/C++は高級なアセンブラだと思っている
C#とは存在するレイヤが違うから、比較条件として用途を挙げるのはちょっと違うかなって
C#とは存在するレイヤが違うから、比較条件として用途を挙げるのはちょっと違うかなって
185デフォルトの名無しさん
2018/01/16(火) 11:25:50.16 で、何つくんの?
高級アセンブリの用途は?
高級アセンブリの用途は?
186デフォルトの名無しさん
2018/01/16(火) 12:09:46.86ID:J2S5K16W 画像処理
大規模ゲーム開発
大規模ゲーム開発
187デフォルトの名無しさん
2018/01/16(火) 12:32:40.41ID:6i0TmEx8 GoogleChrome
188デフォルトの名無しさん
2018/01/16(火) 13:22:26.10ID:6uwiuQcq ゲームとか速度が必要な場面でまだまだ使われてるでしょ
189デフォルトの名無しさん
2018/01/16(火) 15:46:42.36ID:e8xaSAkW CPUパワーを必要とするようなまとまった処理は
C/C++のような低級な高級言語が適している
組み込み用の小規模マイコンもCがほとんど
C/C++のような低級な高級言語が適している
組み込み用の小規模マイコンもCがほとんど
190デフォルトの名無しさん
2018/01/16(火) 19:09:30.75ID:Vb1E5r0O Pythonのライブラリも結局はCで作ってたりするしな。
191デフォルトの名無しさん
2018/01/17(水) 00:06:48.74ID:kWLOq5lU GUIはC#でWPFだけど、そこから使用するdllとか連携するサービスとかはc++。OSのAPIをいろいろ使う場合はC#だと面倒くさいからc++を選ぶ。
192デフォルトの名無しさん
2018/01/17(水) 01:07:00.24ID:X2mlxDcY OpenGLもC#か大変そうだな
193愛知人
2018/01/17(水) 09:14:59.53 Unityでいいよね
194デフォルトの名無しさん
2018/01/17(水) 11:15:20.21ID:X2mlxDcY ライセンス料が只ならいいよ
195デフォルトの名無しさん
2018/01/17(水) 11:23:31.36ID:4ILD3/U5 Unityでも速度が必要な場所はC++で書いて呼び出し
196愛知人
2018/01/17(水) 11:48:22.30 なんでC++ってendlいるの?
197デフォルトの名無しさん
2018/01/17(水) 12:24:58.46ID:/z6RTYd5 ちょっと何言ってるかわかんないです
198愛知人
2018/01/17(水) 13:34:56.30 なんでprintf使わないの?
199デフォルトの名無しさん
2018/01/17(水) 13:41:03.90ID:lhJfQamL 浪人と引き換えに無知を手に入れた男
200愛知人
2018/01/17(水) 13:43:22.44 で、返答は?
201デフォルトの名無しさん
2018/01/17(水) 14:07:42.46ID:l2H41H1D >>198
<cstdio>は正しくC++だからprintf使っても構わん 味噌 よ
後々になって「iostreamはでかいし あんまりうみゃくいかないエビフリャー」いうことになった きしめん だしね
endlは、改行の無い出力と在る出力を統一的に(フォーマット使わずストリームで)扱うには必要でしょ ひつまぶし?
愛知語は詳しくないけど察し手羽先
<cstdio>は正しくC++だからprintf使っても構わん 味噌 よ
後々になって「iostreamはでかいし あんまりうみゃくいかないエビフリャー」いうことになった きしめん だしね
endlは、改行の無い出力と在る出力を統一的に(フォーマット使わずストリームで)扱うには必要でしょ ひつまぶし?
愛知語は詳しくないけど察し手羽先
202愛知人
2018/01/17(水) 14:16:18.48 どうやったらこんなつまんないレスを返せるんだよ...
重症やな w
重症やな w
203デフォルトの名無しさん
2018/01/17(水) 14:19:41.37ID:l2H41H1D 言うな 自分でも検索履歴に「愛知 名物」って残ってるの見て
「人生を無駄にした」と真顔で後悔してるところだから
「人生を無駄にした」と真顔で後悔してるところだから
204デフォルトの名無しさん
2018/01/17(水) 15:03:17.62ID:MeUm47mp 何言ってんだこのバカ
205愛知人
2018/01/17(水) 16:08:09.91 あらら、怒っちゃった(笑)
206デフォルトの名無しさん
2018/01/17(水) 17:39:52.90ID:sykUBtM3 C++でしかできないもの作りたいだけど何かいいアイデアない?
208デフォルトの名無しさん
2018/01/17(水) 18:18:50.66ID:sykUBtM3 >>207
印刷はしたくないです..
印刷はしたくないです..
209デフォルトの名無しさん
2018/01/17(水) 20:00:30.20ID:W2btjMLE おs
210デフォルトの名無しさん
2018/01/27(土) 06:58:59.63ID:1R9xhZBX windowsとLinuxで動くクライアントアプリ開発してて、Linuxコンパイラは化石みたいなバージョンからgcc4.4をようやく使えるようになった
そこでC+11の一部が使えるようになったから使いたいと思ってる
ユーザにAPIを公開してるんだけど、ユーザがAPIを使うに際してはコンパイルオプションstdc++0xが必要なことにはしたくない。今までできてたのに、バージョンアップしたらコンパイルできなくなったとかいわれるからね。
ここで質問なんだけど、ユーザに公開しているヘッダファイルにC+11の記述がなければ、ユーザからの使い方は変わらないかな?手元で試してみた感じだと行けそうだって思ったけど、このへん危ないんじゃないのとか気をつけた方がいいよとかあれば意見よろしくです
そこでC+11の一部が使えるようになったから使いたいと思ってる
ユーザにAPIを公開してるんだけど、ユーザがAPIを使うに際してはコンパイルオプションstdc++0xが必要なことにはしたくない。今までできてたのに、バージョンアップしたらコンパイルできなくなったとかいわれるからね。
ここで質問なんだけど、ユーザに公開しているヘッダファイルにC+11の記述がなければ、ユーザからの使い方は変わらないかな?手元で試してみた感じだと行けそうだって思ったけど、このへん危ないんじゃないのとか気をつけた方がいいよとかあれば意見よろしくです
211デフォルトの名無しさん
2018/01/27(土) 08:45:12.76ID:x9sgfrz+ バイナリで配布するんだったらとりあえずシンボルをnmで取得して見比べてみるとか。
212デフォルトの名無しさん
2018/01/27(土) 10:25:52.07ID:RqfNKOXi ユーザからクロスコンパイラ提供してもらってバイナリ配布っす
nmコマンド、試す価値はありそうだありがとう
nmコマンド、試す価値はありそうだありがとう
213デフォルトの名無しさん
2018/01/28(日) 06:43:38.82ID:yhuRz+yt 以下のコードをgccでコンパイルすると
#include <iostream>
#include <functional>
using namespace std;
struct functor {
int& operator()(int& i) { return ++i; }
};
int main() {
int i = 0;
cout << functor{}(i) << endl; // 関数オブジェクトは問題なし
function<int& (int&)> lambda = [] (int& i) { return ++i; }; // コンパイルエラー
cout << lambda(i) << endl;
return 0;
}
「'main()::<ラムダ(int&)>' から非スカラ型 'std::function<int&(int&)>' への変換が要求されました」
というエラーになるのですが、どうしてでしょうか?
そもそもラムダ式は関数オブジェクトのシンタックシュガー、つまり等価なのではないんでしょうか?
#include <iostream>
#include <functional>
using namespace std;
struct functor {
int& operator()(int& i) { return ++i; }
};
int main() {
int i = 0;
cout << functor{}(i) << endl; // 関数オブジェクトは問題なし
function<int& (int&)> lambda = [] (int& i) { return ++i; }; // コンパイルエラー
cout << lambda(i) << endl;
return 0;
}
「'main()::<ラムダ(int&)>' から非スカラ型 'std::function<int&(int&)>' への変換が要求されました」
というエラーになるのですが、どうしてでしょうか?
そもそもラムダ式は関数オブジェクトのシンタックシュガー、つまり等価なのではないんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 今年の漢字は「高」に決定だよな😔高市が嬉々としてインタビュー応じそう。あと物価高 [929293504]
- VIP過疎すぎてつまらない😭
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
- 昔の日本人「15円50銭と言ってみろ、はい朝鮮人」 今の日本人「文鮮明はサタンと書いてみろ、はい壺」 [932029429]
- 晋州市で果物輸出が最盛期 [685321817]
- 自衛隊員「クマ被害を防ぐ活動、アルバイトに使われたということ。自衛隊の強み活かしてない。猟師のような仕事を期待されるのは無理」 [932029429]
