C言語なら俺に聞け(入門編)Part 107at TECH
C言語なら俺に聞け(入門編)Part 107 - 暇つぶし2ch14: ◆QZaw55cn4c
12/09/10 01:55:06.23
>>13
URLリンク(codepad.org)
URLリンク(codepad.org)

しかし
URLリンク(codepad.org)

k == i のときにうまくいっていないんじゃない?

15:デフォルトの名無しさん
12/09/10 02:08:33.19
>>14
k == i になる可能性を考えていなかった。

if(num[k]^num[i])
{
num[i]^=num[k];
num[k]^=num[i];
num[i]^=num[k];
}
こうしたら上手いこと動いた。

16:デフォルトの名無しさん
12/09/10 02:29:30.82
printfのメッセージを外部ファイル化したいのですが、タブや改行などの書式解釈が上手くいきません。
自前で\nを0x0aなどに置換しないとダメなのでしょうか?

--formatText.txt--
\\t[\t]\\t[\t]%%d[%d]\\n\n(ここでEOF)
--main.c--
#include <stdio.h>
int main()
{
 FILE *fp;
 char szBuf[256];
 if(NULL == (fp = fopen("formatText.txt", "r")) ){
  printf("open error\n");
  return -1;
 }
 printf("希望");
 strcpy(szBuf, "\\t[\t]\\t[\t]%%d[%d]\\n\n");
 printf("<<<");
  printf(szBuf, 999);
 printf(">>>\n");
 printf("現実");
 fgets(szBuf, 256, fp);
 printf("<<<");
  printf(szBuf, 999);
 printf(">>>\n");
 return 0;
}
--実行結果--
希望<<<\t[ ]\t[ ]%d[999]\n
>>>
現実<<<\\t[\t]\\t[\t]%d[999]\\n\n>>>

17:デフォルトの名無しさん
12/09/10 02:30:04.48
質問者です
URLリンク(detail.chiebukuro.yahoo.co.jp)
どなたか教えてください。

18: ◆QZaw55cn4c
12/09/10 02:38:42.78
>>16
printf() の実行時にはあくまでも書式指定のうち % がからむものしか解釈しない。
\nとか\\ とかは、コンパイル時に解釈されるものだ。

自前で置換するしかないでしょうね。それか、自前で \x を展開するルーチンを書くか。

19:デフォルトの名無しさん
12/09/10 03:13:02.52
>>16
printfのメッセージと引数は蜜結合しているので、分離することは良くない。
クラッシュするプログラムが簡単に出来あがるので、設計をやりなおすべき。

Qzとかいうクズのいう事は信用しないように。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch