![]() |
|
|
Googleのunix.com
|
|||||||
| 高レベルのプログラミング は、 C 、 C + +についての質問の投稿は、 Java 、 SQL 、および他のプログラミング言語です。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| ゼロ以外の値をチェックする | philplasma | UNIXのダミー質問と回答のため | 6 | 2008年1月8日 04:51午後 |
| チェックのUID | filthymonk | シェルプログラミングとスクリプティング | 7 | 2007年7月19日 11:40午後 |
| cp進捗状況をチェックする | MarGur | UNIXのダミー質問と回答のため | 0 | 2007年5月15日 05:13午後 |
| のPXEをチェックする | マエストロ@ altiris | Sun Solaris | 5 | 2004年5月25日 01:06午前 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
やあ、
私はシステムの運動プログラムの午前の練習を呼んでいる。 新株予約権の行使の質問:ユーザーからのファイル名を受け入れることをポグラム書いてみませんか?このプログラムは標準出力にファイルのecery 5番目のバイトを書く必要があります。 私のプログラム: #含まれ<stdio.h> #含まれ<fcntl.h> #含まれ<error.h> 主( ) ( INTはfd 、 first_offset \u003d 5 、 move_offset \u003d 0は、 X \u003d 1 ; 一、名前[ 20 ]文字; scanf ( " % "は、名) ; fd \u003dオープン(名前、 O_RDONLY 、 0755 ) ; printf ( " % d個のfd " 、 fd ) ; 場合( fd \u003d\u003d- 1 ) ( printf ( "エラー" ) ; 出口( 1 ) ; ) 一方(のX < 5 ) ( move_offset \u003d move_offset + first_offset ; lseek ( move_offset fd - 1 、 0 ) ; 読む( 、名前、 sizeof (名前) ) fd ; ( 1名、 1 )を書く; のX + + ; ) ) 出力: [ ramki @ lindesk3 sysint_ex ] $蹐またはex1.c - ex1 [ ramki @ lindesk3 sysint_ex ] $ ./ex1 。 /テスト FIVEfd 3です ファイルを"テスト"のコンテンツ: abcdFfghiIklmnVpqrsE 私の質問今すぐ: 1 。このプログラムでは、私はvaraibleの" X "との比較では、 whileループに使用されるランダムなの私の選択5 。その代わりに私は、 EOFをwhilepartで状態をチェックしたい。どのように確認してください。 fopenソジョン場合はファイルポインタを使用していると、私たちは( ( fp ) \u003d\u003d 0 ) feofを使用することができます。しかし、ここで使用されると私ドンsyatem通話状態を確認する方法については知っている。 2 。 Teのプログラムの出力では、 " "は、プリントする前に、 5 filedescriptor号を発見した。しかし、私のプログラムの流れとして1 、最初に印刷されている必要がありますし、出力fd " 5 " 。 このプログラムをより簡単かつ正確に、特にファイルの名前を得るためpiointerを使用して、配列を使用してinstaed書く3.Is何かothet方法です。 ヘルプしてください... ありがとう、 Ramkrix |
|
||||
|
引用:
コード:
#include <stdio.h>
main(int argc, char *argv[])
{
char *infile;
FILE *stream;
infile = argv[1];
stream = fopen(infile, "r");
}
...今はfeofまたはferrorストリームの状態のような機能を使うことができます。 |
|
||||
|
引用:
システムコールのアプローチは、入力ファイルから一度に5バイトの読み込みと標準出力には、 5番目のバイトの印刷用に優れています。このメソッドは、カウンタをインクリメントを繰り返しテストよりも優先されている場合のX < 5またはEOFをチェック( )関数は、標準のlibにfeofを使用しています。 コード:
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
main(int argc, char *argv[])
{
int fd;
char name[5];
fd = open("/path/to/input/file", O_RDONLY);
while (read(fd, (void *) name, (size_t) 5) == 5)
printf("the fifth byte is %c\n", name[4]);
}
|
|
||||
|
有用な情報シャムロックは再び感謝します。
私にお返事から最後のキュー求めるみましょう: 中(読み取り( 、 (ボイドfd * )氏名、 ( size_tの) 5 ) \u003d\u003d 5 ) " ( size_tの) 5 " 、と意味は何ですか? Bcoz私は本からは、我々は最後に( )演算子は、 sizeofを与える必要がある読むありません。また、値を" \u003d\u003d 5 〜 " comaparingは何ですか?私はここを理解することができませんでした。 以下の1つのプログラムで何を私のコードです: 読む( 、名前、 sizeof (名前) ) fd ; 私は正しいものだったか? ![]() |