
Create Cleaned Up Version of a Plain Text File


hrodstein
// WriteStrippedDataToNewFile(refNum, pathName, origFileName, newFileName) // Creates new file containing cleaned up contents of original file. // The original file is assumed to be a plain text file. // The following are removed from the data: // All control characters except for carriage-return (0x0D) // All characters with codes greater than 0x7F (characters not in standard ASCII set) // If newFileName exists, it is overwritten. Function WriteStrippedDataToNewFile(pathName, origFileName, newFileName) String pathName // Symbolic path where new original file exists String origFileName // Name of file containing original data String newFileName // Name of new file into which clean data is written Variable refNum // RefNum of raw data file Open/R/P=$pathName refNum as origFileName if (strlen(S_fileName) == 0) return -1 // Error or user canceled from open file dialog. endif FStatus refNum // Sets V_logEOF to number of bytes in file Variable numBytesInFile = V_logEOF Make/O/B/U/N=(numBytesInFile) tempRawData FBinRead refNum, tempRawData // Load raw data Variable numBytesAvailableInCleanData = numBytesInFile Make/O/B/U/N=(numBytesAvailableInCleanData) tempCleanData Variable numCleanBytes = 0 Variable ch Variable i for(i=0; i<numBytesInFile; i+=1) ch = tempRawData[i] if (ch<0x80 && (ch>=0x20 || ch==0x0D)) tempCleanData[numCleanBytes] = ch numCleanBytes += 1 endif endfor DeletePoints numCleanBytes, numBytesAvailableInCleanData - numCleanBytes, tempCleanData // Write clean data out to new file Variable cleanRefNum Open/P=$pathName cleanRefNum as newFileName FBinWrite cleanRefNum, tempCleanData Close cleanRefNum KillWaves/Z tempRawData, tempCleanData return 0 End

Forum

Support

Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More