次の形式のファイルにユーザー名とツイートを保存しています。
username1:message1:message2:...:messageN
username2:message1:message2:...:messageN
..。
usernameN:message1:message2:...:messageN
ユーザー名==新しいメッセージが添付されたユーザー名である行がファイルにある場合、上記の形式の行に:newMessageを追加します。
Cでこれを行うにはどうすればよいですか(それが重要な場合はcygwinで)?これが私が問題を抱えていると書いたコードブロックです。
while(fgets(line, MAXBUFF, fp) != NULL){ // get each line of file
if (strncmp(line, tweetUsr, strlen(tweetUsr)) == 0){
usrFound = 1;
fprintf(filePointer, ":");
fprintf(filePointer, tweet);
break;
}
memset(&line[0], 0, sizeof(line)); //reset line array
}
filePointerは現在の行の終わりを指しているはずなので、メッセージが行の終わりに追加されることを期待していますが、実際に起こっているのは、メッセージがファイルの最後に追加されていることです。
fopenでr+モードを使用してこれを試しました。ファイルの終わりではなく現在の行に追加できるようにするには、何をする必要がありますか?