1樓:匿名使用者
//注意,a.txt中「,」後不要有空格
#include
#include
#include
#include
#include
using namespace std;
void main()
vectorvec1;
vectorvec2;
char buff[100];
memset(buff,0,sizeof(buff));
while (!feof(fd))
else
p = strtok(null, ",");}}int i = 0;
cout << "------vec1-----" << endl;
for (i = 0; i < vec1.size(); ++i)cout << "------vec2-----" << endl;
for (i = 0; i < vec2.size(); ++i)return;}
2樓:小靖鍋鍋
思路:利用getline讀取每一次到「,」之前的所有字元,計算字元長度 為1 轉換成int型存入vec2 其中轉換的話可以利用atoi這個函式。 否則存入vec1
3樓:我家小私兒
string size大於1的存於vec1;
size等於1的存於vec2;
4樓:匿名使用者
這麼多人回答我就不說了。
c++檔案讀寫問題
5樓:gta小雞
第一個類的物件操作完畢檔案後,必須關閉相應的流,並清除流的標誌,第二個類的物件才能再開啟同一個檔案。
6樓:匿名使用者
改用共享方式開啟檔案。
#include
file *_fsopen(const char *filename,const char *mode,int shflag);
file *f1=_fsopen("a.txt","rw",_sh_denyno);
7樓:秋涵佴煊
#include
#include
void
main()
應撰以二進位制方式開啟,同時不要忘了釋放記憶體
8樓:潭起袁珊
fread函式的返回值代表了實際讀取到的位元組數。
通常,當len較小時,fopen的返回值和len可能相等;但當len較大時,fread每次讀取的位元組數往往比len小,也就是說fread不能一次將你需要的資料讀取完,這就導致了你後面的檔案資料丟失了,當然也就不能執行了。
通常的做法是迴圈讀取,直到讀取的位元組數為0,則說明讀取完畢,演算法如下:
while
(fread(...))
c++檔案操作時,二進位制讀寫檔案一般不會出錯,但不用二進位制讀取的話,會出現各種各樣的問題,為什麼?
9樓:
這是因為c編譯器與檔案的編解碼錶不匹配,讀取檔案是用軟體的編解碼錶將檔案編碼成二進位制檔案,再用c編譯器翻譯儲存,一些太特殊的字元可能就會丟失或者出現亂碼。而全部都用二進位制讀寫就避免了錯誤的可能性
10樓:扈懷煒
一般和檔案的編碼有關,如果檔案中純英文應該不會有問題
11樓:匿名使用者
因為讀取的是文字,特殊符號會過濾掉
C語言很簡單很簡單的問題,C語言很簡單很簡單的問題
第一個 經過呼叫函式的運算後 沒有返回值 所以c d的值沒變 第二個用不到呼叫函式吧 因為計算機是讀 main的 而且是從main之前找函式 後面的函式 計算機不會讀的 應該輸出10 可能不對 我好久沒玩 c語言了 1.要用指標 改為int t int x,int y,int cp,int dp c...
c語言的問題新手問題很簡單的,C語言的問題 新手問題 很簡單的
由程式中 k 017 得知這是一個八進位制數,而結果是已十進位制輸出所以把017化為十進位制是15,在 得16 g 111 得知這是一個十進位制數,而輸出要求是十六進位制數,111的十六進位制表示為6f,但是由於是g 是先操作後加加,所以輸出仍然是6f,然後再加,此時g應該是70.這裡應該注意 a,...
關於vc6 0 c 檔案讀寫的問題
path 1和path 2為原始檔的路徑 和 目標檔案的路徑 對應的檔案路徑你修改下就ok了。include include include define path 1 d define path 2 d int main file pf1,pf2 char pbuf null pf1 fopen ...