很簡單的C檔案讀寫問題,但是總是出錯

2022-04-14 12:55:17 字數 1783 閱讀 4876

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 ...