【发布时间】:2014-02-25 16:56:38
【问题描述】:
readtofile.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main(int argc, char **argv) {
/*For File input, I'm copying the lines of the file into a
* large string with fgets*/
FILE *filePtr;
char buffIter[200];//How much fgets iterates by???
char *pToken; //Should hold the large string.
filePtr = fopen(argv[2],"r");// the filename is passed as the second argument
while(fgets(bufferIter, 200, filePtr){ ...?
filePtr = something?
/*For File input*/
}
我希望上面的程序将整个文件读入 C 中的字符串。 我希望 filePtr 是那个字符串,如果 example.txt 看起来像:
This is a test file.
Here are some strings like cat, dog and mouse.
Escape chars too \n \a \" \b \t.
Specials cases? @ $ % \\ \\\ \\\\ \ \
"\\" "\\\" "\"
如何分隔新行?就像来自 "...and mouse. Escape chars..." 如果我按原样使用 fgets,它会在字符串中显示为这样吗?
谢谢。
【问题讨论】:
-
char buffIter[100];和fgets(bufferIter, 200, filePtr)绝对不好(fgets 的第二个参数是size也就是将被读取的字符数) -
facepalm*,改了。