Re: [問題] char* 如何讀取下一行?
※ 引述《nikker (忘了前進)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: VC++
: 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
: cocos2d-x
: 問題(Question):
: 從某個文件檔中將整個文件檔讀入成 char*
: (因某些原因,無法使用 getline 逐行讀取)
: 假設 char* 中是
: ABCD
: EFGH
: HIJK
: 而我會在每一行中判斷是否有我要的資料,
: 如果沒有再去下一行找。
: 本來用 getline 已經可以完成了,
: 但如上所述,被迫將整段資料存成char*後再來分析,
: 請問有什麼方法可以做到換行讀取嗎?
: 請不吝指教 o(><)o
#include <stdio.h>
#include <string.h>
int main() {
char* in = "abcdefg\n1234567\n3323\n6300\n8300";
char buf[1024];
int size = strlen(in);
int offset = 0;
while(offset < size) {
int c = 0;
int ret = sscanf(in + offset, "%[^\n]\n%n", buf, &c);
if(ret < 0)
break;
offset += c;
printf("buf=\"%s\"\n", buf);
}
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
→
07/20 01:25, , 1F
07/20 01:25, 1F
推
07/20 01:29, , 2F
07/20 01:29, 2F
推
07/20 08:37, , 3F
07/20 08:37, 3F
推
07/20 21:49, , 4F
07/20 21:49, 4F
推
07/21 01:51, , 5F
07/21 01:51, 5F
→
07/21 17:24, , 6F
07/21 17:24, 6F
→
07/21 17:24, , 7F
07/21 17:24, 7F
→
07/21 17:25, , 8F
07/21 17:25, 8F
※ 編輯: utf8 來自: 111.240.235.8 (08/23 00:45)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):