プログラムの性能をはかるために,そのプログラムの中のある計算式が呼びだされた回数を比較しようと考えています.
bitter_fox さんが書きました:
次のようなコードだと何回と出力されるべきですか?
コード:
#include <stdio.h>
int main()
{
int i;
for (i = 0; i < 10; i++)
{
printf("Hello,World\n");
}
}
プログラムの動作の回数とすると10になりますが、そういったことをするのは凄く難しいかと思います。
はい,この場合だと10が出力するようにしたいと考えています.
これがその,凄く難しいことなのですか?それともそれは難しいので代わりに,というのがbitter_foxさんが示してくれたものなのでしょうか.
コード:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *strstr(const char *s1, const char *s2);
int main(int argc,char *argv[])
{
FILE *fp;
if((fp = fopen(argv[1], "rb")) == NULL ) {
fprintf(stderr,"ファイルオープンエラー\n");
exit(EXIT_FAILURE);
}
fseek(stdin, 0, SEEK_END); // 最後まで持って行って
int size = (int)ftell(stdin); // 先頭からの位置を取得
fseek(stdin, 0, SEEK_SET); // 先頭に戻す
char s1[] = ; /* 検索対象文字列 */
char s2[] = "flag2[swaped]=1"; /* 一致する場合 */
char *sp;
sp = strstr(s1,s2);
printf("一致する場合 : %s\n",sp);
return 0;
}
bitter_foxさんが示してくれたページへ飛び,やってみたのですが,17行目の検索対象文字列の部分をどうしたらいいかがわかりません.
対象とするのは読み込んだファイルなので単なる文字列にするわけにはいかず,
エラーになってしまいます.