掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
テキストファイルの文字列を一行づつ読み出すには? (ID:53510)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
引き続きお願いします #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { FILE *fp; char moji[256]; char fukusya[10]; int i; if ((fp = fopen("c:\\test.txt", "r")) == NULL) { printf("file open error!!\n"); exit(1); } while (fgets(moji, 256, fp) != NULL) { printf("%s", moji); printf("%d\n",strlen(moji)); if (strlen(moji) > 9 ) { strncpy(fukusya,moji,8); printf("%s",fukusya); } else { strcpy(fukusya,moji); printf("%s",fukusya); } i = strlen(fukusya); printf("%d\n",i); } fclose(fp); return 0; } 一行づつ読み出し、別の文字列にコピーする処理をしたいと思っています。 読み出してきた文字列が9文字より多い場合、最初から8文字だけコピーし、9文字目に改行コードを挿入したいのですが、実行すると9文字以上の時、文字列fukusyaには、(読み出してきた文字列8文字+「フフフフ」+読み出してきた文字列)入ります。なぜでしょうか? どなたか教えてください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.