1
我有一個文件<int><string><int>
,我將它保存到一個緩衝區,然後使用管道讀取它。該字符串是字母數字。C - 如何閱讀sscanf <int><string><int>?
FILE *est = fopen ("file.txt","r");
fgets(buffer1, 256, est);
write(fd[i][1], buffer1, BUFFERSIZE);
.
.
.
int r = read(fd[i][0], buffer1, BUFFERSIZE);
sscanf(buffer1,"<%d><%s><%d>", &a, b, &c);
的問題是,當我讀到的字符串時,它「吃」的><%d>
,並解釋一切作爲一個字符串。例如,如果我有<10><5jj8j><10>
變量將是a=10
,b= "5jj8j"><10>
和c
到任何它初始化。
如何使用sscanf
讀取<>
之間的字符串對不對?
感謝您的答案。
另一個建議是當你已經打開一個文件時,使用'sscanf'的'fscanf' instad。你可能想'fdopen'它來檢索'FILE'指針並使用'fscanf'來讀取。或者先使用'getline'來讀取整行,然後調用'sscanf'。 –