>>17,18,22,23 レスありがとうございます。statつかえばいいのですけど system-depend な 定義に少し食傷気味といいますか、、なんとか C 標準で書けないものかと お知恵拝借いたしました次第です。 C の規格自体がもう古いので何かしようとするとキツイ制限にはまって しまいますが、かといって広い環境でサポートされて高速に動くのは C くらいしかないかなとジレンマに陥ります。
>>26 やはり POSIX を標準として書くべきでしょうか.. スレッドもマップトファイルも C 標準ではもはや無理ですし..
規格書の気になる一文(ISO-C99N896 302p) >211Setting the file position indicator to end-of-file, as > with fseek(file, 0, SEEK_END), has undefined behavior for > a binary stream (because of possible trailing null > characters) or for any stream with state-dependent > encoding that does not assuredly end in the initial shift > state.
include <stdio.h> #define s 10000 #define v 30 #define YES 1 #define NO 0
int main(void); int Min(int, int); int MinSearch(int l[v], int c[v],int); int n; int main(void) { int i, j,k; int sel[v], chk[v], distance[v]; int weight[v][v]; printf("頂点の数を入力せよ"); scanf("%d",&n); printf("各頂点間の距離を入力せよ\n"); for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ printf("%d-%d:\n",i,j); scanf("%d",&weight[i][j]); } }
long shiftleft(long long i,long j){ return i*(long long)(pow(2.0,(double)j)); } long shiftright(long long i,long j){ return i/(long long)(pow(2.0,(double)j)); } int main(int argc, char* **argv){ long long x=0xaa55ff00aa55ff00; printf ("num=%x result=%x\r\n",x,shiftleft(x,45)); printf ("num=%x result=%x\r\n",x,shiftright(x,45)); return 0; }
long long shiftleft(long long i,long j){ return i*(long long)(pow(2.0,(double)j)); } long long shiftright(long long i,long j){ return i/(long long)(pow(2.0,(double)j)); } int main(int argc, char **argv){ long long x=0xaa55ff00aa55ff00; printf ("num=%x result=%x\r\n",x,shiftleft(x,45)); printf ("num=%x result=%x\r\n",x,shiftright(x,45)); return 0; }