我将用户名和推文存储在以下格式的文件中:
用户名1:message1:message2:...:messageN
用户名2:message1:message2:...:messageN
...
用户名N: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+ 模式尝试了这个。为了能够追加到当前行而不是文件末尾,我必须做什么?