掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.25176

保存先の指定について
投稿者---つっつん(2006/01/10 01:27:01)


初めて書き込みさせていただきます。
C言語初心者です。

題名のとおり、ファイルの保存先の指定の仕方に困っています。
今の状態ですと、同じフォルダ内にしか保存できないです。
なんとか「C:\Documents and Settings\管理人\My Documents」
のような指定の方法はないものでしょうか?
よろしくお願いします。


#include <stdio.h>
#include <stdlib.h>

int main() {
    char fileName[128] , saveName[128];
    int text;
    FILE *load , *save;

    printf("何を?>");
    scanf("%s" , fileName);

    if ((load = fopen(fileName , "r")) == NULL) {
        printf("ファイルを開けませんでした");
        exit(1);
    }

    printf("何に?>");
    scanf("%s" , saveName);
    
    if ((save = fopen(saveName , "w")) == NULL) {
        printf("書き込みに失敗しました");
        exit(1);
    }

    while(1) {
        text = fgetc(load);
        if(!feof(load)) fputc(text , save);
        else break;
    }

    fclose(load);
    fclose(save);
    return 0;
}




この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:保存先の指定について 25178 つっつん 2006/01/10 01:30:04
<子記事> Re:保存先の指定について 25179 Blue 2006/01/10 01:33:40
<子記事> Re:保存先の指定について 25180 επιστημη 2006/01/10 01:36:08
<子記事> Re:保存先の指定について 25190 REE 2006/01/10 10:11:03
<子記事> Re:保存先の指定について 25247 つっつん 2006/01/12 16:12:51


No.25178

Re:保存先の指定について
投稿者---つっつん(2006/01/10 01:30:04)


すいません、書き忘れましたが、
OSはWindows XPで、cygwinで作ってます。


この投稿にコメントする

削除パスワード

No.25179

Re:保存先の指定について
投稿者---Blue(2006/01/10 01:33:40)


> scanf("%s" , saveName);
ここで、フルパスを入力すればよいのでは?
ファイル名だけだと、カレントディレクトリ直下にできるのは当たり前ですから。


この投稿にコメントする

削除パスワード

No.25181

Re:保存先の指定について
投稿者---つっつん(2006/01/10 01:37:38)


早い返答ありがとうございました。

ちょっとやってみます。


この投稿にコメントする

削除パスワード

No.25180

Re:保存先の指定について
投稿者---επιστημη(2006/01/10 01:36:08)


>なんとか「C:\Documents and Settings\管理人\My Documents」
>のような指定の方法はないものでしょうか?

  printf("何に?>");
  scanf("%s" , saveName);

ここで c:\XXX\YYY\zzz.txt とか入力すれば、
ディレクトリ c:\XXX\YYY が存在するならやってくれるハズですけど。




この投稿にコメントする

削除パスワード

No.25190

Re:保存先の指定について
投稿者---REE(2006/01/10 10:11:03)


>なんとか「C:\Documents and Settings\管理人\My Documents」
>のような指定の方法はないものでしょうか?

>printf("何に?>");
>scanf("%s" , saveName);

scanfの%sでは、空白を含む文字列を取り込めません。
他の書式指定にするか、fgetsなどを使いましょう。



この投稿にコメントする

削除パスワード

No.25247

Re:保存先の指定について
投稿者---つっつん(2006/01/12 16:12:51)


皆さんから修正法を教えていただきました。
ありがとうございました。

しかし、いろいろ手を加えてみてはいるのですが、
エラーが出てしまいます。しかも文字化けで。
ですので、どなたか修正箇所だけでも具体的に修正して
いただけないでしょうか?

よろしくお願いします。
<pre>#include <stdio.h>
#include <stdlib.h>

int main() {
char fileName[128] , saveName[128];
int text;
FILE *load , *save;

printf("何を?>");
scanf("%s" , fileName);

if ((load = fopen(fileName , "r")) == NULL) {
printf("ファイルを開けませんでした");
exit(1);
}

printf("何に?>");
scanf("%s" , saveName);

if ((save = fopen(saveName , "w")) == NULL) {
printf("書き込みに失敗しました");
exit(1);
}

while(1) {
text = fgetc(load);
if(!feof(load)) fputc(text , save);
else break;
}

fclose(load);
fclose(save);
return 0;
}

</pre>



この投稿にコメントする

削除パスワード

No.25250

Re:保存先の指定について
投稿者---shu(2006/01/12 19:26:44)


正しいファイル入出力の知識を知り、その通りにやってみましょう。

第17章 ファイル入出力
http://www9.plala.or.jp/sgwr-t/c/sec17.html


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧