C读取txt文档

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cuterabbitbaby/article/details/77581292
在读取前首先要
更改预处理定义:

项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,在后面追加:_CRT_SECURE_NO_DEPRECATE

用c语言读取一个q1_p.txt.共200个数,读成一个4行50列的二维矩阵。

FILE *fp1 = fopen("F:\\q1_p.txt", "r");
for (int i = 0; i < 4; i++){
for (int j = 0; j < 50; j++){
fscanf(fp1, "%d", &q1_p[i][j]);
}
}
fclose(fp1);


展开阅读全文

关于txt文档 读取

05-20

我现在在txt 文档里存入的是一个矩阵,rn格式如下rn6337 9rn 0 0 0 0.188031 -0.000180605 0.190502 -0.0718638 -0.0718638 -0.0718638 rn 0 3.62 0 -0.129442 0.249099 -0.231457 -0.137655 -1.60452e-008 -0.137655 rn 0 7.24 0 0.0566448 -0.119395 0.191191 -0.137655 1.05256e-006 -0.137655 rn 0 10.86 0 0.187448 -0.0667279 -0.166516 -0.137655 2.11055e-006 -0.137655 rn 0 14.48 0 -0.147672 0.300518 0.201492 -0.137654 4.05032e-006 -0.137654 rn 0 18.1 0 -0.242087 -0.321117 0.0581332 -0.137656 4.05462e-007 -0.137656 rn 0 21.72 0 0.233636 -0.0012979 -0.144036 -0.137654 3.85661e-006 -0.137654 rn 0 25.34 0 0.23737 0.301136 -0.110276 -0.137656 4.05462e-007 -0.137656 rn 0 28.96 0 -0.0355141 -0.205071 -0.247401 -0.137654 3.45428e-006 -0.137654 rn 0 32.58 0 0.188626 -0.0693028 0.0792959 -0.0718622 0.0718612 -0.0718622 (部分)rnrn前面的分别是行数和列数rn由于矩阵要不断变化,所以我要记录每个时间的值,即在最前面加上t=几如下rnt=0rn6337 9rn 0 0 0 0.188031 -0.000180605 0.190502 -0.0718638 -0.0718638 -0.0718638 rn 0 3.62 0 -0.129442 0.249099 -0.231457 -0.137655 -1.60452e-008 -0.137655 rn 0 7.24 0 0.0566448 -0.119395 0.191191 -0.137655 1.05256e-006 -0.137655 rn 0 10.86 0 0.187448 -0.0667279 -0.166516 -0.137655 2.11055e-006 -0.137655 rn 0 14.48 0 -0.147672 0.300518 0.201492 -0.137654 4.05032e-006 -0.137654 rn 0 18.1 0 -0.242087 -0.321117 0.0581332 -0.137656 4.05462e-007 -0.137656 rnrn可是我原来的用来读取的函数是这个rnvoid loaddata()rnrnrnrn ifstream inPFile("workpiece.txt",ios::in);rn if(!inPFile)rn cerr<<"File could not be opened\n";rn exit(1);rn rnrn long nRow=0;rn long nCol=0;rn rnrn double l=0;rn //读取行列值rn for(long nRecord=0;nRecord<2;nRecord++)rn rn inPFile>>l;rn if(nRecord==0) nRow=l;rn if(nRecord==1) nCol=l;rn rnrn long k=0;rn long nData=nRow*nCol; //数据总个数rn// float *tempV=new float [nData];rn mole = new atom[N];rn int temp=N;rn int i=0,j;rn rn while(temp--)rn rn j=i/9;rn inPFile>>l;rn if (i%9==0)rn mole[j].r.x=l;rn rn else if (i%9==1)rn mole[j].r.y=l;rn rn else if (i%9==2)rn mole[j].r.z=l;rn rn else if (i%9==3)rn mole[j].v.x=l;rn rn else if (i%9==4)rn mole[j].v.y=l;rn rn else if (i%9==5)rn mole[j].v.z=l;rn rn else if (i%9==6)rn mole[j].a.x=l;rn rn else if (i%9==7)rn mole[j].a.y=l;rn rn else if (i%9==8)rn mole[j].a.z=l;rn rn rn i++;rn rnrn我要怎么做才能先把t=几先读回来 然后再进行我要进行的矩阵读取?rn加什么代码?rn大家帮帮忙 我是新手 好多问题不懂麻烦大家了 论坛

读取txt文档创建位图

06-23

有些朋友希望通过自定义图象的方式来产生一幅bmp图象,那这篇文章对大家可能会有些帮助。rn我们采用读取txt文档得到图象象素数据。rn本文只以8位灰度图为例,其他格式类似。rn初步设定没3位确定一个象素的值,从0~256,没有负数大于255的数设为255。rnrn具体步骤:rn1. 读取文档,得到字符串数据,转换成数字信息,构成图象数据数组。将得到的数据作为正方形图象,不足以255补位,如果有需要也可以自定义宽高。rn2. 申请内存,创建bmp文件头,根据图象数据数组写入bmp数据区,同时显示在屏幕上。rn3. 设置保存。rnrn关键程序如下。rnrnvoid CCreatBMPDoc::OnFileOpen() rnrn ReadText();rn CreatBMP();rn UpdateAllViews(NULL);rnrnrn第一步:读取文档,得到字符串数据,转换成数字信息,构成图象数据数组。rn//把文本字符串读过来放到数组里面rn//把文本字符串读过来放到数组里面rn BYTE* DestArray; rn long FileLength;rn long PixTotal;rn long i,j;rn rn CString result;rn CStdioFile file;rn CFileException fe; rn rn CString lpszPathName;rn CFileDialog dlg(TRUE,"*.txt",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"Text Files (*.txt)|*.txt|",NULL);rn rn if(dlg.DoModal()!=IDOK)rn return ; rn lpszPathName=dlg.GetPathName();rn rn rn rn if(!file.Open((LPCTSTR)lpszPathName,CFile::modeRead|CFile::shareDenyWrite|CFile::typeText ,&fe))rn rn return;rn rn FileLength=file.GetLength();rn rn PixTotal=FileLength/3+1;rn rn DestArray=new BYTE[PixTotal];rn rn char buf[4];rn rn for (i=0;i 255 ? 255:atoi(buf));rn rn rn CATCH(CFileException,eLoad )rn rn file.Abort();rn return;rn rn END_CATCHrn rn rn double num = sqrt(PixTotal);rn rn while( num>=1 )rn rn num--;rn rn rn if( num == 0 )rn rn lWidth = lHeight = (long)sqrt(PixTotal);rn rn elsern rn lWidth = lHeight = (long)( sqrt(PixTotal)+1 );rn rn rn LineBits = WIDTHBYTES(8*lWidth);rn Length = LineBits*lHeight;rnrn rn if( lpBits )rn delete [] lpBits;rn lpBits = new BYTE [Length];rnrn for( i=0;ibfType = 0x4d42;//0x012304e0;//0x424Drn m_pBitmapFileHeader->bfOffBits = 1078;rn m_pBitmapFileHeader->bfSize = m_pBitmapFileHeader->bfOffBits+m_FileLength;rn m_pBitmapFileHeader->bfReserved1 = 0;rn m_pBitmapFileHeader->bfReserved2 = 0;rn rn m_pBitmapInfoHeader->biBitCount = 8;rn m_pBitmapInfoHeader->biClrImportant = 0;rn m_pBitmapInfoHeader->biClrUsed = 0;rn m_pBitmapInfoHeader->biCompression = BI_RGB;rn m_pBitmapInfoHeader->biHeight = lHeight;rn m_pBitmapInfoHeader->biWidth = lWidth;rn m_pBitmapInfoHeader->biPlanes = 1;rn m_pBitmapInfoHeader->biSize = 40;rn m_pBitmapInfoHeader->biSizeImage = lHeight*LineBits;rn m_pBitmapInfoHeader->biXPelsPerMeter = 3799;rn m_pBitmapInfoHeader->biYPelsPerMeter = 3799;rn rn m_pBitmapInfo = (BITMAPINFO *) (m_pBitmapInfoHeader);rn m_pBitmapInfo->bmiHeader = *m_pBitmapInfoHeader;rn rn for( int i=0;i<256;i++ )rn rn m_pRGBQuad[i].rgbBlue= i;rn m_pRGBQuad[i].rgbGreen = i;rn m_pRGBQuad[i].rgbRed =i;rn m_pRGBQuad[i].rgbReserved = 0;rn rnrnrnrnrn在OnDraw调用rnvoid CCreatBMPView::OnDraw(CDC* pDC)rnrn CCreatBMPDoc* pDoc = GetDocument();rn ASSERT_VALID(pDoc);rnrn lpDIBBits = pDoc->lpBits;rn lWidth = pDoc->lWidth;rn lHeight = pDoc->lHeight;rn Length = pDoc->Length;rn m_pBitmapInfo = pDoc->m_pBitmapInfo;rn rn rn if( lpDIBBits )rn rn StretchDIBits(pDC->m_hDC, rn 0, 0, lWidth, lHeight, rn 0, 0, lWidth, lHeight, rn lpDIBBits, m_pBitmapInfo, DIB_RGB_COLORS, SRCCOPY);rnrn SetScrollSizes(MM_TEXT, CSize(lWidth, lHeight));rn rn rn rn rn rnrnrn即可完成显示。rnrn第三步设置保存。rnvoid CCreatBMPDoc::OnFileSaveAs() rnrn CString pFilePath;rn CFileDialog filedlg(FALSE,"*.bmp",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,rn "Bitmap Files (*.bmp)|*.bmp||",NULL);rn rn filedlg.DoModal();rn pFilePath = filedlg.GetPathName();rn rn Store((LPCTSTR) pFilePath);rn rn delete filedlg;rn rnrnvoid Store(LPCTSTR lpszPathName)rnrn CFile file;rn file.Open((LPCTSTR) lpszPathName,rn CFile::modeCreate|CFile::modeReadWrite,NULL);rn rn file.SeekToBegin();rn CreatInfo();rn CString str;rn file.Write(lpHead,m_FileLength);rn rn file.Close();rnrnrnrn至此完成bmp图象的创建显示和保存。rn时间仓促难免有错误,请大家指正。rn以上只是主要算法,经编译通过。rn没有写上变量的初始化以及内存的释放,这点请大家注意。rn如果有需要源程序的朋友,http://www.life-abroad.com/bbs/dispbbs.asp?boardid=18&ID=39&replyID=39rn在此可以下载rnrn如有疑问可以联系puhuofeie@hotmail.com 论坛

vb.net读取txt文档的问题

06-25

NODE X Y Z THXY THYZ THZXrn 1 15956. 12152. 0.0000 0.00 0.00 0.00rn 2 16015. 12152. 0.0000 0.00 0.00 0.00rn 3 15976. 12152. 0.0000 0.00 0.00 0.00rn 4 15996. 12152. 0.0000 0.00 0.00 0.00rn 5 16015. 12212. 0.0000 0.00 0.00 0.00rn 6 16015. 12172. 0.0000 0.00 0.00 0.00rn 7 16015. 12192. 0.0000 0.00 0.00 0.00rn 8 15956. 12212. 0.0000 0.00 0.00 0.00rn 9 15996. 12212. 0.0000 0.00 0.00 0.00rn 10 15976. 12212. 0.0000 0.00 0.00 0.00rn 11 15956. 12192. 0.0000 0.00 0.00 0.00rn 12 15956. 12172. 0.0000 0.00 0.00 0.00rn 13 15977. 12186. 0.0000 0.00 0.00 0.00rn 14 15983. 12202. 0.0000 0.00 0.00 0.00rn 15 15997. 12179. 0.0000 0.00 0.00 0.00rn 16 15980. 12165. 0.0000 0.00 0.00 0.00rn 17 15970. 12201. 0.0000 0.00 0.00 0.00rn 18 15997. 12197. 0.0000 0.00 0.00 0.00rn 19 16001. 12164. 0.0000 0.00 0.00 0.00rn 20 16015. 12152. 1682.9 0.00 0.00 0.00rnrn NODE X Y Z THXY THYZ THZXrn 21 16015. 12152. 112.19 0.00 0.00 0.00rn 22 16015. 12152. 224.38 0.00 0.00 0.00rn 23 16015. 12152. 336.57 0.00 0.00 0.00rn 24 16015. 12152. 448.77 0.00 0.00 0.00rn 25 16015. 12152. 560.96 0.00 0.00 0.00rn 26 16015. 12152. 673.15 0.00 0.00 0.00rn 27 16015. 12152. 785.34 0.00 0.00 0.00rn 28 16015. 12152. 897.53 0.00 0.00 0.00rn 29 16015. 12152. 1009.7 0.00 0.00 0.00rn 30 16015. 12152. 1121.9 0.00 0.00 0.00rn 31 16015. 12152. 1234.1 0.00 0.00 0.00rn 32 16015. 12152. 1346.3 0.00 0.00 0.00rn 33 16015. 12152. 1458.5 0.00 0.00 0.00rn 34 16015. 12152. 1570.7 0.00 0.00 0.00rn 35 15956. 12152. 1687.3 0.00 0.00 0.00rn 36 15996. 12152. 1684.3 0.00 0.00 0.00rn 37 15976. 12152. 1685.8 0.00 0.00 0.00rn 38 15956. 12152. 1574.8 0.00 0.00 0.00rn 39 15956. 12152. 1462.3 0.00 0.00 0.00rn 40 15956. 12152. 1349.8 0.00 0.00 0.00rnrnrn想用vb.net读取以上txt的数据,使得只读前四列,带字母的不要,如:rn 1 15956. 12152. 0.000rn 2 16015. 12152. 0.000rn 3 15976. 12152. 0.000rn 4 15996. 12152. 0.000rn 5 16015. 12212. 0.000rn 6 16015. 12172. 0.000rn 7 16015. 12192. 0.000rn 8 15956. 12212. 0.000rn 9 15996. 12212. 0.000rn 10 15976. 12212. 0.000rn 11 15956. 12192. 0.000rn 12 15956. 12172. 0.000rn 13 15977. 12186. 0.000rn 14 15983. 12202. 0.000rn 15 15997. 12179. 0.000rn 16 15980. 12165. 0.000rn 17 15970. 12201. 0.000rn 18 15997. 12197. 0.000rn 19 16001. 12164. 0.000rn 20 16015. 12152. 1682.9 rn最主要的也就是把每行带字母的去掉,希望朋友们指点下,不胜感激! 论坛

没有更多推荐了,返回首页